我想使用 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.“介面號碼”
將顯示連接埠目前每秒的使用情況