snmpwalk 获取端口流量_通过snmpwalk命令计算接口速率
发布日期:2021-06-24 11:37:10 浏览次数:2 分类:技术文章

本文共 1117 字,大约阅读时间需要 3 分钟。

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 ingress traffic #####

echo -n 'snmpwalk -v2c -c password 192.168.1.1

IF-MIB::ifHCInOctets.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::ifHCInOctets.5

| cut -d’ ‘ -f4' >>

/tmp/result.tmp

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

/tmp/result.tmp >>

/tmp/result.txt

输出结果如下:

Cernet egress rate: 41 mbps

Cernet ingress rate: 59 mbps

转载地址:https://blog.csdn.net/weixin_32552195/article/details/112052591 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:刷b站点击量_B站首席运营官:月活首次突破2亿,日均视频播放量13亿次
下一篇:linux建立ftp suse_SUSE Linux 安装FTP

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月17日 13时13分32秒