Zabbix SNMP 接口不定期丢数据/绘图不连续问题解决

Zabbix SNMP 接口不定期丢数据/绘图不连续问题解决

        由于之前对Zabbix做了一次迁移,后面慢慢出现在Grafana上看到SNMP数据间歇性丢失,有意思的是在非工作时间这个问题会延缓,但是在上班时间段就开始SNMP 接口数据间歇性丢失的问题就尤为突出,经过各种排查最后得出结论.是因为迁移后Zabbix模板中网络接口带宽的索引OID默认是ifOutOctets/ifOutOctets导致.

ifOutOctets/ifOutOctets在达到 2^32 次方(也就是 4 294 967 296)之后会清零,由于清零之后上一个周期和当前周期的差值转换成每秒然后再乘以8,这种情况会在接口的统计值达到清零值的时候容易出现,比如上一个周期的值是4255129534,刚好在下一个周期取数据的时候这个值达到了最高值之后清零了,当前周期拿到的值是130216339,当前周期带宽计算就会出现负数,这也就导致了流量大的接口在zabbix中绘图断断续续,或者带宽值出现尖峰值的情况.


这里可以看到使用snmpwalk 获取ifInOctets值对比结果,当数值结果达到 4 294 967 296 就会被清零.

#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 3797303681
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 3899718521
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 3977100013
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 4161589292
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 4255129534
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 130216339
#snmpwalk -v 2c -c 'public' 192.168.1.1 1.3.6.1.2.1.2.2.1.16.690
IF-MIB::ifOutOctets.690 = Counter32: 176128122

解决方案

        从以上知道了问题所在就很容易解决了,找到设备关联的模板,依次点击Discovery rules - xx Interfaces - Item prototypes 找到响应的 将原来使用

1.3.6.1.2.1.2.2.1.10(ifInOctets)或者1.3.6.1.2.1.2.2.1.16(ifOutOctets)的key中的SNMP OID更换为 1.3.6.1.2.1.31.1.1.1.6(ifHCInOctets) 和1.3.6.1.2.1.31.1.1.1.10() ifHCOutOctets)即可解决.

你可能感兴趣的:(Zabbix SNMP 接口不定期丢数据/绘图不连续问题解决)