深入 Prometheus 监控生态 - 第二篇:网络等硬件设备监控(snmp-exporter)


前言

SNMP监控原理是通过SNMP协议查询网络设备上的MIB(管理信息库),设备运行SNMP代理,Prometheus通过SNMP Exporter轮询这些设备,SNMP Exporter会翻译SNMP协议的数据为Prometheus的时间序列格式,供Prometheus采集和存储。

下列就以群晖 NAS、QNAS、华为防火墙设备为例子,开启 SNMP 服务并部署 Exporter 进行监控,其中包括 MIB 文档解读、Exporter 镜像制作 + 部署、数据抓取测试等。


一、群晖 NAS

1、开启 SNMP 服务

浏览器登录 群晖管理后台,点击 “控制面板” → “终端机和 SNMP” → “SNMP” → 勾选“启用 SNMP 服务” + 勾选 “SNMPv1、SNMPv2c 服务” )+ 填写 “社群” 信息(可理解为密码)→ 点击“应用”生效

2、测试

在另一台设备(Linux)可访问该群晖 NAS (UDP:161端口),使用 snmpwalk 命令测试,若没有这通过命令安装:
Centos/Redhat:

sudo yum update
sudo yum install net-snmp-utils

Ubuntu/Debian:

sudo apt update
sudo apt install snmp

测试命令:

snmpwalk -v 2c -c 社群密码 群晖IP

若返回一大串 iso. 开头的信息,则表示正常,否则请检查网络、社群密码、群晖IP

3、MIB 文档

群晖管理后台SNMP 配置页面,点击最下方访问 Synology 网站 访问Synology MIB 文档
或 Google 搜索 群晖 SNMP MIB 文档

文档访问链接如下:
群晖 SNMP MIB Guide 文档

查阅文档,找到自己所监控信息的每一项值所对应的 OID 和 返回值。

比如说,我要监控这台 NAS 的硬盘,在文档的p8-9页 OID: .1.3.6.1.4.1.6574.2 中有说明:
.13为硬盘健康状态,.1为硬盘索引号,.9为硬盘坏道数

PS:
感觉文档有点坑,光看文档会误以为 OID .1.3.6.1.4.1.6574.2 直接加上 .13(后缀)就能获取状态值,其实不是的,使用 snmpwalk 命令查询 .1.3.6.1.4.1.6574.2.13

snmpwalk -v 2c -c 社群密码 群晖IP 1.3.6.1.4.1.6574.2.13

返回报错:

iso.3.6.1.4.1.6574.2.13 = No Such Object available on this agent at this OID

通过查阅 .1.3.6.1.4.1.6574.2 的返回值,才知道其实它是 .1.3.6.1.4.1.6574.2.1.1.13,命令:

snmpwalk -v 2c -c 社群密码 群晖IP 1.3.6.1.4.1.6574.2

4、编写 snmp.yml

知道自己抓取的 OID 后,就可编写 snmp.yml 了(snmp-exporter 用于过滤 snmp 信息),内容如下:

syno_mib:
  version: 2
  walk:
    - 1.3.6.1.4.1.6574.2.1.1
  metrics:
    - name: disk_health
      oid: 1.3.6.1.4.1.6574.2.1.1.13
      type: gauge
      help: "Disk health status"
      indexes:
        - labelname: ifIndex
          type: gauge
      lookups:
        - labels:
            - ifIndex
          labelname: disk_name
          oid: 1.3.6.1.4.1.6574.2.1.1.1
          type: DisplayString
    - name: disk_smart
      oid: 1.3.6.1.4.1.6574.2.1.1.9
      type: gaug
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值