阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

140次阅读
没有评论

共计 1348 个字符,预计需要花费 4 分钟才能阅读完成。

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

开启并配置 Citrix Xenserver 的 SNMP 服务 http://www.linuxidc.com/Linux/2013-01/78487.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1348字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中