解決zabbix用snmp監控網絡流量不準的問題

公司新上了一個新的數據中心,需要用zabbix監控華三交換機的網絡流量。

配好snmp協議之後,正常都能識別,但慢慢的發現一個問題,電信的接口經常出現少數據的情況,但聯通和鐵通都沒有什麼問題。

zabbix繪的圖斷斷續續的,有時更神奇的是,流量突然下降,下降的還很離譜,從500多Mbps一下掉到40多Mbps,一度以爲是交換機返回的數據有問題了。

後來在zabbix機器上抓包,發現數據包沒有丟,數據也沒有什麼異常,不過抓的包裏面,有個counter32引起注意。

然後仔細閱讀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. 將其“鍵值”中的ifInOctets[{#SNMPVALUE}]修改爲ifHCInOctets[{#SNMPVALUE}]

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

同樣:“項目原型”中的“Outgoing traffic on interface {#SNMPVALUE}”也做類似修改。

也就是將ifInOctets和ifOutOctets替換爲ifHCInOctets和ifHCOutOctets。


然後把主機刪除,重新添加主機,這次一切都清爽了,繪的圖都是連續的,也沒再出現陡增陡降的問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章