如何使用 SNMP 监控每个端口的带宽

moh*_*mad 3 snmp

我想使用 SNMP 查找交换机(CISCO 2950)的每个端口带宽使用情况。我试过ifInOctetsifOutOctetsifSpeed但我不知道这是不是真的?

我为端口 1 执行了 snmpget,结果是

结果

ifInOctets = 3404696928
ifOutOctets = 1813440596
ifspeed = 100000000
Run Code Online (Sandbox Code Playgroud)

Mbs 带宽是我的问题

dsm*_*k80 5

表 OID 1.3.6.1.2.1.2.2.1包含所有重要的网络接口对象。您找到了正确的对象ifInOctets(1.3.6.1.2.1.2.2.1.10)/ ifOutOctets(1.3.6.1.2.1.2.2.1.16) 来跟踪从接口接收/传输的八位字节。如果您需要获得每个端口的此类统计信息,您需要将端口索引附加到表 OID,例如1.3.6.1.2.1.2.2.1.10.1表示端口 1 的接收八位字节和1.3.6.1.2.1.2.2.1.16.1表示传输的八位字节。

有了这些数据,您就可以使用简单的公式计算每个端口的输入/输出利用率

(ifInOctets(time1) - ifInOctets(time2)) / (time2 - time1)
(ifOutOctets(time1) - ifOutOctets(time2)) / (time2 - time1)
Run Code Online (Sandbox Code Playgroud)

结果是每秒接收/传输八位字节。您可以编写自己的脚本并将其合并到您的监控工具中,或者您可以利用 Nagios、Cacti、Munin、Mrtg 等 3rd 方工具自动进行此类计算并将它们呈现在漂亮的图表中。