我们访问互联网的过程中存在这两种行为:一是上传数据,二是下载数据。上行带宽指的是上传的速度,而下行带宽指的是下载数据时的速度。
云帮手通过对服务器多网卡的上行带宽和下行带宽传输情况进行实时监控,使用户可以精准了解到各网卡的运行情况,做到合理带宽分配,保证网络畅通。
公司新上了一个新的数据中心,需要用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。
然后把主机删除,重新添加主机,这次一切都清爽了,绘的图都是连续的,也没再出现陡增陡降的问题。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)