Featured image of post 使用Prometheus监控Synology(群辉)

使用Prometheus监控Synology(群辉)

、简介在现代的环境中,对于服务器和网络设备的监控是至关重要的。群辉作为一种流行的网络存储解决方案,为用户提供了高性能和可靠的存储服务。然而,了解设备的运行状况和性能指标对于确保其正常运行和及时采取措施。。。。。。。

1、简介

在现代的IT环境中,对于服务器和网络设备的监控是至关重要的。Synology(群辉)作为一种流行的网络存储解决方案,为用户提供了高性能和可靠的存储服务。然而,了解Synology设备的运行状况和性能指标对于确保其正常运行和及时采取措施至关重要。

Prometheus是一个功能强大的开源监控系统,它提供了灵活的数据模型和丰富的查询语言,可用于收集、存储和可视化各种应用程序和设备的监控指标。通过将Prometheus与Synology(群辉)集成,您可以实时监控Synology(Snmp协议)设备的关键指标,如CPU使用率、内存使用率、磁盘空间、网络流量等,以便及时发现问题并采取适当的措施。 在这里插入图片描述

2、环境准备

Synology(群辉):7.2 .1 prometheus:2.48.0 Grafan :10 Snmp_exporter: 0.22.0 (注意版本:新版本配置变更)

Snmp版本问题:https://github.com/prometheus/snmp_exporter/blob/main/auth-split-migration.md 从snmp_exporter v0.23.0 版本开始,配置文件格式snmp_exporter已更改。v0.22.0 及之前版本的配置文件将不起作用 在这里插入图片描述

3、Synology配置

1、开启SNMP协议

在这里插入图片描述

2、安装Docker

在套件中心,直接搜索 “docker” 进行安装 7.0 和 6.0 的版本不一样 7.0 在这里插入图片描述

3、Node-Exporter 安装

Node-Exporter 是监控 Synology的底层系统,相当于Linux操作系统, 这个可以使用docker的镜像安装,不过这里 大佬已经封装好插件,直接使用。 添加源

1
2
https://spk7.imnks.com/
http://spk.bobohome.store:8880

在这里插入图片描述 在这里插入图片描述

4、Docker安装组件

参考: https://github.com/ddiiwoong/synology-prometheus Docker目录下,创建monitor目录,后续的配置存放里面 在这里插入图片描述

1、Snmp_exporter 安装

我使用dockerfile 进行安装 snmp的文件:https://github.com/ddiiwoong/synology-prometheus/blob/master/snmp-synology/snmp.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
version: "3.8"
services:
  snmp-exporter:
    image: ricardbejarano/snmp_exporter:0.22.0
    container_name: snmp_exporter
    volumes:
      - ./snmp-synology/snmp.yml:/etc/snmp_exporter/snmp.yml
    ports:
      - 9116:9116
    command:
      - "--config.file=/etc/snmp_exporter/snmp.yml"

启动成功 在这里插入图片描述 测试 在这里插入图片描述

在这里插入图片描述

2、Prometheus安装

这次我才用ssh到nas系统,直接执行命令进行创建 prometheus.yml 配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
global:
  scrape_interval:     15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
  - static_configs:
    - targets: ['alertmanager:9093']

rule_files:
  - "/etc/prometheus/rules/*"

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
        labels:
          group: 'prometheus'
  - job_name: node
    static_configs:
    - targets: ['192.168.123.200:9100']
  - job_name: 'snmp'
    metrics_path: /snmp
    static_configs:
      - targets:
        - 192.168.123.200
    params:
      module: [synology]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 192.168.123.200:9116

放到指定位置,然后创建prometheus

1
2
3
4
5
6
7
8
9
docker run -d  -p 9090:9090 -u root \
  -v /volume1/docker/monitor/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
  -v /volume1/docker/monitor/prometheus/rules:/etc/prometheus/rules \
  -v /volume1/docker/monitor/prometheus/data:/etc/prometheus/data \
  --name prometheus \
  prom/prometheus:latest \
  --storage.tsdb.path=/etc/prometheus/data \
  --storage.tsdb.retention.time=90d \
  --config.file=/etc/prometheus/prometheus.yml

在这里插入图片描述

3、Grafan安装

参考文档:https://blog.csdn.net/wayne_primes/article/details/112467639

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run \
-d --name grafana  -p 3000:3000 \
grafana/grafana grafana

将配置文件拷贝至宿主机方便修改配置
docker exec -it grafana cat /etc/grafana/grafana.ini > /data/grafana/grafana.ini

mkdir -p /data/grafana/data
#修改目录权限否则启动后容器中用户无法创建数据文件夹和文件
chmod 777  /data/grafana/data

Grafan创建命令

1
2
3
4
5
6
7
docker run  -d -p 3000:3000 -u root \
--name grafana \
-e "GF_SECURITY_ADMIN_PASSWORD=admin" \
-v "/volume1/docker/monitor/grafana/grafana.ini:/etc/grafana/grafana.ini" \
-v "/volume1/docker/monitor/grafana/data/:/var/lib/grafana" \
$(cat /etc/hosts |grep -Ev "^$|[#;]" | awk -F ' ' '{if(NR>2){print "--add-host "$2":"$1}}')  \
grafana/grafana grafana

在这里插入图片描述

5、界面展示

1、添加数据源

在这里插入图片描述

2、导入大屏展示

ID: Linux:8919 群辉:14284 14364

在这里插入图片描述

在这里插入图片描述

未来的你,会感谢今天仍在努力奋斗的你