使用Prometheus监控Synology(群辉)

1、简介

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

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

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 及之前版本的配置文件将不起作用
使用Prometheus监控Synology(群辉)_第2张图片

3、Synology配置

1、开启SNMP协议

使用Prometheus监控Synology(群辉)_第3张图片

2、安装Docker

在套件中心,直接搜索 “docker” 进行安装
7.0 和 6.0 的版本不一样
7.0
使用Prometheus监控Synology(群辉)_第4张图片

3、Node-Exporter 安装

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

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

使用Prometheus监控Synology(群辉)_第5张图片
使用Prometheus监控Synology(群辉)_第6张图片

4、Docker安装组件

参考: https://github.com/ddiiwoong/synology-prometheus
Docker目录下,创建monitor目录,后续的配置存放里面
使用Prometheus监控Synology(群辉)_第7张图片

1、Snmp_exporter 安装

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

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"

启动成功
在这里插入图片描述
测试
使用Prometheus监控Synology(群辉)_第8张图片

使用Prometheus监控Synology(群辉)_第9张图片

2、Prometheus安装

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

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

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

使用Prometheus监控Synology(群辉)_第10张图片

3、Grafan安装

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

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创建命令

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

使用Prometheus监控Synology(群辉)_第11张图片

5、界面展示

1、添加数据源

使用Prometheus监控Synology(群辉)_第12张图片

2、导入大屏展示

ID:
Linux:8919
群辉:14284 14364

使用Prometheus监控Synology(群辉)_第13张图片

使用Prometheus监控Synology(群辉)_第14张图片

你可能感兴趣的:(Prometheus监控,prometheus)