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

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

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

我对端口 1 执行 snmpget,结果是

结果

ifInOctets = 3404696928
ifOutOctets = 1813440596
ifspeed = 100000000

Mbs 的带宽是我的问题

答案1

表 OID1.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)

结果就是您每秒接收/发送的八位字节数。您可以编写自己的脚本并将其纳入监控工具中,也可以利用 Nagios、Cacti、Munin、Mrtg 等第三方工具自动进行此类计算并将其呈现在漂亮的图表中。

答案2

您可以使用:

OLD-CISCO-INTERFACES-MIB::locIfInBitsSec。“接口号”

将显示端口的当前每秒使用量

相关内容