我想使用 SNMP 查找交换机 (CISCO 2950) 每个端口的带宽使用情况。我试过了ifInOctets
,ifOutOctets
但ifSpeed
不知道是否正确?
我对端口 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。“接口号”
将显示端口的当前每秒使用量