SNMP 监控
如果需要监控打印机、路由器等设备,需要用到SNMP协议来完成,因为他们无法安装软件和操作系统。
此时在安装的时候需要安装snmp的支持,服务器可使用snmp agent来获取这些设备的信息。
- Server设置
1、安装SNMP相应服务:
1 | yum install -y net-snmp* |
2、编辑配置文件(/etc/snmp/snmpd.conf)
3、启动
1 | systemctl enable snmpd |
- Client设置(Linux环境)
1、安装SNMP相应服务:
1 | yum install -y net-snmp* |
2、编辑配置文件(/etc/snmp/snmpd.conf),和server有点区别
3、启动
1 | systemctl enable snmpd |
4、放行防火墙(它是通过UDP161端口通信)
1 | firewall-cmd --add-port=161/udp --permanent |
- Client设置(Windows server环境)
1、打开服务器管理器 ------>功能--------->添加功能
2、选择SNMP服务,并安装
3、设置
4、放行防火墙(UDP161)
5、添加主机监控
6、添加监控项
我们需要找出要监控项目得SNMP字符串(或者OID),可以通过snmpwalk命令来找:
1 | snmpwalk -v 2c -c public <host IP> |
2c表示SNMP标准版本,snmp推出了v1,v2,v3版本,你也可以 写成1,表示使用1版本.上面的命令会获取到一个SNMP的列表,包含键值,默认情况下我们snmp不加密,使用public作为共同体即可,这些列表中 有你需要的一些监控数据.
找到我们所需要的键值,当然也可以来获取某一个的OID值:
这里的ifInOctets.2的2表示我们需要监听的端口号,要特别注意的是3COM的端口号1是101,3是是103,但是cisco还是不变,1号还是数字1。
这个时候我们再去创建监控项:
将我们查询到的OID填入相应位置
需要注意的是:
1、如果SNMPv3凭据(安全名称,验证协议/口令,隐私协议)错误,Zabbix会从net-snmp收到错误,如果 私钥 错误,在这种情况下,Zabbix会从net-snmp收到TIMEOUT错误。
2、如果上面com2sec中,团体属性不是public的话,此时需要在zabbix服务器进行配置(服务器默认是public)
3、OID可以以数字或字符串形式给出。但是,在某些情况下,字符串OID必须转换为数字表示。