本文共 1488 字,大约阅读时间需要 4 分钟。
问题描述
最近时不时无规律的收到zabbix的监控报警,是不同的交换机重启的误报,提示交换机重启了,但检查看后发现实际并没有重启。
我们发现监控是否重启是监控交换机的引导时间,使用的是如下OID:
[root@rds ~]# snmpwalk -v 2c -c public 192.168.1.9 1.3.6.1.2.1.1.3.0DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (704406) 1:57:24.06
这样看来192.168.1.9这台设备sysUptime是0天1小时57分钟。
那我们登入交换机设备上验证一下:
WL-4507#show version Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSAL-M), Version 03.03.00.SG RELEASE SOFTWARE (fc3)Technical Support: http://www.cisco.com/techsupportCopyright (c) 1986-2012 by Cisco Systems, Inc.Compiled Sun 15-Apr-12 09:07 by prod_rel_teamROM: 15.0(1r)SG5WL-4507 uptime is 1 year, 18 weeks, 6 days, 3 hours, 29 minutesUptime for this control processor is 1 year, 18 weeks, 6 days, 3 hours, 31 minutesSystem returned to ROM by power-onSystem restarted at 11:14:10 BeiJing Tue Jan 12 2016
结果发现此交换机并没有重启,这台设备sysUptime是1年18周6天,大概就是497天。
原因分析
经过查阅相关资料,得知sysUpTime是由一个32-bit的counter来计数的,单位是1/100秒,所以最大时间为496天,过了496天就溢出,变成0,然后又重新计算时间,所以zabbix误报。
解决方法
可以使用另一个计数值来计算时间,那就是snmpEngineId (1.3.6.1.6.3.10.2.1.3.0) ,其同样是32-bit的值,但它的单位是秒,最大时间为49600天,即所以可以存135年的运行时间,足够了。
[root@rds ~]# snmpwalk -v 2c -c public 192.168.1.9 1.3.6.1.6.3.10.2.1.3.0SNMP-FRAMEWORK-MIB::snmpEngineTime.0 = INTEGER: 42957135 seconds
可以看到192.168.1.9这台设备使用1.3.6.1.6.3.10.2.1.3.0查询的结果是42957135s,即为497天,是正确的时间。
zabbix监控更改:
找到Template SNMP Generic: Device uptime,将SNMP OID改为:1.3.6.1.6.3.10.2.1.3.0使用自定义倍数改为:1 或者取消勾选。转载于:https://blog.51cto.com/8686505/2377157