Grafana同步监控群晖信息(设置篇)
下载文件
老苏找到了一个项目,能通过简单的脚本捕获群晖的 SNMP 信息并写入 InfluxDB,然后在 Grafana 同步显示
项目地址:https://github.com/kernelkaribou/synology-monitoring
项目总共就 2 个文件

其中
Synology_dashboard.json用于Grafana的Dashboard界面显示synology_snmp.sh用于捕获群晖的SNMP信息并写入InfluxDB
在 docker 文件夹中,创建一个新文件夹,并将其命名为 grafana,将上面两个文件下载到本机,其中 synology_snmp.sh 需上传到 grafana 目录

新建 Bucket
用管理员身份登录到 InfluxDB ,左侧菜单 Explore –> Create Bucket

新建一个名为 nas 的 Bucket

创建 Token
InfluxDB 左侧菜单 Data –> API Tokens –> Generate API Token

Token 有两种不同的权限,建议读写的权限即可,也就是建 Read/Write API Token,读写都选择 刚创建的 nas

点击名称会显示 Token

设置参数
synology_snmp.sh 原始代码运行会返回 HTTP/1.1 401 Unauthorized,老苏研究了一下,发现原代码中用的写入 InfluxDB 的方式似乎已经不支持了,所以老苏查了官方文档做了修改,在 InfluxDB 2.1.1 上测试通过

InfluxDB 设置
在 InfluxDB 设置部分屏蔽了 3 个参数,分别是
influxdb_nameinfluxdb_userinfluxdb_pass

然后新增了 3 个参数,分别是
influxdb_tokeninfluxdb_organizationinfluxdb_bucket

写入 InfluxDB
因为方式改了,所以原来写入 InfluxDB 的代码就不能用了,老苏注释了原来的代码

新增加了下面这段来实现 InfluxDB 数据库的写入
1 | curl --request POST \ |
如果你担心自己修改出问题,可以直接下载老苏修改后的synology_snmp.sh文件,地址:https://github.com/wbsu2003/synology/blob/main/synology-monitoring/synology_snmp.sh
启用 SNMP
控制面板 –> 终端机 SNMP –> SNMP 中勾选 启动 SNMP 服务,勾选 启用 SNMP v1、SNMPv2c 服务
- 社群:
public - 设备名称:
ds3617xs - 设备位置:
home - 联系方式:
wbsu2003@gmail.com

任务计划
控制面板 –> 任务计划 –> 新增 –> 任务的计划 –> 用户定义的脚本

任务设置 –> 运行命令 中输入下面的命令
1 | bash /volume2/docker/grafana/synology_snmp.sh |

计划 中日期和时间设置
- 在以下天中运行:
每天 - 首次运行时间:
00:00 - 运行频率:
每 1 分钟,也可以降低采集的频率,比如每 10 分钟甚至可以更低 - 最后运行时间:
23:59

导入 json
用管理员身份登录 Grafana,左侧菜单 + –> Import

选择 Upload JSON file

载入 Synology_dashboard.json 文件,点 Import

最终效果
虽然也有点高大上的意思,但配色不是太好看,有点小失望,好在老苏只是为了学习,另外最上面似乎也有点问题,暂时先这样吧

参考文档
grafana/grafana: The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
地址:https://github.com/grafana/grafanagrafana/grafana - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/grafana/grafana/Run Grafana Docker image | Grafana Labs
地址:https://grafana.com/docs/grafana/latest/installation/docker/Grafana Plugins - extend and customize your Grafana | Grafana Labs
地址:https://grafana.com/grafana/plugins/Write data with the InfluxDB API | InfluxDB OSS 2.1 Documentation
地址:https://docs.influxdata.com/influxdb/v2.1/write-data/developer-tools/api/kernelkaribou/synology-monitoring: Simple script for capturing SNMP stats to influxdb and viewing Synology NAS health in Grafana
地址:https://github.com/kernelkaribou/synology-monitoring