因为最近在研究zabbix ,需要通过snmp监控交换机的流量,通过逐步的摸索以及查阅相关资料,发现zabbix监控流量和带宽是通过抓取snmp中的数据,并进行相应的转化,最后得到带宽和流量数据。
在使用snmpwalk 获取交换机信息时,里面有 ifHCInOctets 和 ifInOctets 属性,而且发现这两个值都特别的大。刚开始我一直以为 ifInOctets就是对应端口的带宽,后来慢慢发现,其实这是流量。而ifHCInOctets 的值更是大的惊人,一直没弄懂这表示什么意思,当我在zabbix中看到这个值的单位都达到了PB时,我立马就傻掉了。
后来通过在一些QQ群里询问相关信息,基本上也没人能给出明确的说法,唯独有一位的网友发了我两个链接,在这上面我终于知道了他们的含义,故在此通过博客进行备忘,也希望帮助一些网友。一下是相关信息,英语不好的自己翻译吧!
ifInOctets的信息在下面这个链接里http://www.net-snmp.org/docs/mibs/interfaces.html ,截图 如下:
而ifHCInOctets居然在这里找不到,后来还是那位网友给了我相关的提示,才在这个链接(http://www.net-snmp.org/wiki/index.php/MFD:ifXTable:Get_Data)里找到了相关信息:
The ifHCInOctets node is a 64 bit counter. Net-SNMP uses a structure containing the high and low 32 bits for 64 bit counters. We use if_ibytes if it is available, or if_ipackets otherwise. This logic is straight from the current ifTable implementation.