暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Grafana同步监控群晖信息(设置篇)

各种折腾 2022-03-18
1806

下载文件

老苏找到了一个项目,能通过简单的脚本捕获群晖的 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
数据库的写入

 curl --request POST \
 "$http_method://$influxdb_host:$influxdb_port/api/v2/write?org=$influxdb_organization&bucket=$influxdb_bucket&precision=ns" \
 --header "Authorization: Token $influxdb_token" \
 --header "Content-Type: text/plain; charset=utf-8" \
 --header "Accept: application/json" \
 --data-binary "$post_url"

如果你担心自己修改出问题,可以直接下载老苏修改后的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

任务计划

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

任务设置
--> 运行命令
中输入下面的命令

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/grafana

grafana/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

@所有人:写文不易,如果你都看到了这里,请点个
在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论