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_name
influxdb_user
influxdb_pass
然后新增了 3
个参数,分别是
influxdb_token
influxdb_organization
influxdb_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