snmpwalk 获取端口流量_通过snmpwalk命令计算接口速率

v1使用的计数器是32位的,因此无法准确统计千兆接口的流量。而v2c是64位的,对于千兆接口就ok了。

snmp取回的接口流量数据是经过接口的总字节数,而不是实际的速率。若计算速率的话,需要取2次数据,然后用其差值除以2次取数据的间隔时间在乘以8即可。

对于snmp

v1,接口通过字节数的mib为IF-MIB::ifOutOctets和IF-MIB::ifInOctets

对于snmp

v2c,接口通过字节数的mib为IF-MIB::ifHCOutOctets和IF-MIB::ifInOutOctets

区别就是一个为32位,一个为64位。

计算速率的脚本如下:

##### cernet egress traffic #####

echo -n 'snmpwalk -v2c -c password 192.168.1.1

IF-MIB::ifHCOutOctets.5 | cut -d’ ‘ -f4' >

/tmp/result.tmp

echo -n ” ” >> /tmp/result.tmp

sleep 10

echo 'snmpwalk -v2c -c password 192.168.1.1 IF-MIB::ifHCOutOctets.5

| cut -d’ ‘ -f4' >>

/tmp/result.tmp

awk ‘{printf “Cernet egress rate: %d mbps\n”,($2-$1)*8/10000000}’

/tmp/result.tmp >>

/tmp/result.txt

##### cernet in

你可能感兴趣的:(snmpwalk,获取端口流量)