SNMP
SNMP(simple network management protocol)是因特网架构委员会IAB定义的一个应用层协议。SNMP广泛用于管理和监控网络设备,大多数专业的网络设备都有SNMP agent代理,这些代理被激活和配置后用于和SNMP管理 NMS(network management system)网络管理系统通信。
目的
通过snmp_export,获取设备信息.
准备
系统: centos7,docker19.
之前已经安装好 Prometheus
此处目标设备是华为交换机 s2700
部署snmp_expoer
snmp.yml 配置文件不是自己定义的,是通过注册生成或下载的.这里我通过github下载配置文件.
- 配置snmp_export 配置文件 snmp.yml
1 | version: 2 |
查找到if_mib 再此段结尾中加入 上面的配置(大概行数6199).
部署snmp_expor
1 | docker run -d --restart always \ |
配置华为s2700交换机
自行查阅文档.懒得写了.
验证服务
访问 http://IP:9116/metrics 能返回数据,snmp_export服务正常.
测试是否能获取到目标设备的数据:
访问 http://IP:9116/snmp?target=DEVIP
能获取到数据,配置成功.
注意防火墙 把需要的端口加入规则中,不然访问不到排查绕弯路
配置promthues
修改 promthues.yml文件. 添加一个新的job.
1 | - job_name: snmp |
之前部署prometheus 有一个参数是为了热加载配置的.
这里需要reload一下配置,curl -X POST http://IP:9090/-/reload
,如果你没有就重启服务吧.
验证 Prometheus配置
访问 http://IP:9090/
点击 Status->Target 可以看到监控的节点,之前我们是有一个,现在是两个节点了.
有数据之后,就可以在grafana中展示设备的数据了.
参考
https://github.com/prometheus/snmp_exporter
https://prometheus.io/docs/instrumenting/exporters/
http://owelinux.github.io/owelinux.github.io/2018/07/25/article8-linux-prometheus/