解决Zabbix用snmp监控网络流量不准的问题

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年10月3日22:42:38 评论 8 views 1274字阅读4分14秒

公司新上了一个新的数据中心,需要用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。

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

Zabbix 之SNMP配置 http://www.linuxidc.com/Linux/2013-09/90263.htm

SNMP实现网络动态分析 http://www.linuxidc.com/Linux/2013-04/83514.htm

SNMP实现网络状态监控 http://www.linuxidc.com/Linux/2013-04/83187.htm

CentOS 6.3下搭建SNMP测试环境 http://www.linuxidc.com/Linux/2013-02/79233.htm

Linux (Ubuntu/CentOS) SNMP配置 http://www.linuxidc.com/Linux/2012-12/76837.htm

继续阅读
关于制作U盘安装网众Linux系统 linux服务器应用

关于制作U盘安装网众Linux系统

用U盘作为引导盘能够省去刻录光盘的繁琐事情,而且当您需要对启动文档改变,比如往启动文档initrd.img中加入驱动以识别新硬件的时候,需要经常试验很多次才能成功假如每 次都去刻盘会很麻烦,所以我摸索...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: