zabbix监控交换机出图断断续续问题解决

张 佃栋 zabbix 2018-04-08 678 次浏览 , 没有评论

Zabbix通过snmp监控交换机流量时,之前经常出现出图很不稳定的情况。我先对zabbix以及snmp是怎么来监控流量的做个简单的说明:

Zabbix:只是负责从自身配置中的snmp部分拿到数据绘图、告警等等。

Snmp:通过snmp协议拿到数据给zabbix。

之 前的现象是:当流量高的时候,绘图就会出现落差很大的现象,于是我在zabbix监控机上对snmp获取的值做了一个监控。发现其现象为只要获取的数值超 过4293662940、4293662940、4294816070这几个数就会出现拐点,数值立刻从一个比较低的值开始一点点加大。

现 象的原理:这是snmp计数器的机制,如果溢出了,则清0重新记录。另外,如果是count32的话,最大支持的值是2^32=4G,也就是说超过4G, 交换机snmp计数器自动溢出,然后从0开始重新计数。而zabbix如果item的save as设置的为speed per second的时候,对于此类情况的操作方法为:如果本次获取到的值比上次小,那么不存储这次的差,直接忽略掉,等下次的差值。

处理的办法:

仔细阅读snmp的文档,发现snmp协议返回的ifInOctets和ifOutOctets都是流量的总量,而我们都是取两次的差值,然后除以取样的间隔时间,得出的平均值。

而counter32的数据类型计数的最大值是2的32次方减1,当超过4G的时候,计数器就会清零。

后来分析zabbix的snmp interface的模板,发现zabbix取样时间是1分钟,在我们由于流量大,很快就清零了,并且有时计数清零之后新增的数值,比上一次的计数还要 大,zabbix还以为没清过零,直接相减除以了时间间隔,就造成了“网络流量陡降的假象”。

找到原因之后,剩下的就好办了,我们需要的是,使用counter64的oid数据。

在zabbix中导出template snmp interfaces模板,然后修改一下名字,重新导入。修改这个新的模板:

在“探索规则”中找到“项目原型”,点击“Incoming traffic on interface {#SNMPVALUE}”,

1.将其“KEY”中的ifInOctets[{#SNMPVALUE}]修改为ifHCInOctets[{#SNMPVALUE}]

2.将“SNMP OID”中的IF-MIB::ifInOctets.{#SNMPINDEX}修改为IF-MIB::ifHCInOctets.{#SNMPINDEX}

同样:“项目原型”中的“Outgoing traffic on interface {#SNMPVALUE}”也做类似修改。

也就是将ifInOctets和ifOutOctets替换为ifHCInOctets和ifHCOutOctets。

然后把主机删除,重新添加主机,这次一切都清爽了,绘的图都是连续的,也没再出现陡增陡降的问题。

本文出自张佃栋de博客,转载时请注明出处及相应链接。

本文永久链接: https://zhangdd.com/103.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

回顶部