![帶遠端辦公室的雙向頻寬測量 snmp](https://rvso.com/image/697041/%E5%B8%B6%E9%81%A0%E7%AB%AF%E8%BE%A6%E5%85%AC%E5%AE%A4%E7%9A%84%E9%9B%99%E5%90%91%E9%A0%BB%E5%AF%AC%E6%B8%AC%E9%87%8F%20snmp.png)
你好
我在所有遠端辦公室都有一個連接到網路的專用監控系統。我們的主/nagios 伺服器已連接到所有伺服器。我想獲得專用系統和 nagios 伺服器之間的雙向頻寬測量。應使用 snmp 建立連線。但沒有 snmp 陷阱和 NPRE。
建議使用哪種工具來完成這項工作?我本身不需要圖形輸出,因為收集的頻寬資料應該發送到 muniin 進行進一步處理和圖形輸出。先感謝您!
答案1
您可以使用nagios插件其中包含腳本 check_netint。此腳本將使用 SNMP 根據儲存在路由器 MIB 中的資料計算介面的頻寬。
答案2
我認為您無法透過 SNMP 輕鬆獲得兩個設備之間的頻寬使用情況。但是,您可以使用 SNMP 來取得 NIC 或網路連接埠上使用的總頻寬。
我認為沒有用於雙向頻寬的 OID,至少在 cisco 設備上是如此。但有 tx 和 rx 的 OID。編寫一個腳本來檢查 snmp 中的這些 oid(您甚至可以呼叫現有的 nagios 外掛程式),並讓腳本將兩個值相加,然後輸出總計。不確定是否有更簡單的方法,除非您的迷你電腦有內建的 SNMP 用戶端。如果您可以編寫腳本,那麼編寫 nagios 外掛程式就相當簡單了,並且有很多關於如何執行此操作的文件。學習如何創建自己的插件是一個強大的技能。
另一個選項可能是在主 nagios 伺服器上使用一些網路工具,例如 tcpdump。 xxxx 將是遠端小型電腦。
tcpdmp -ietho0 host x.x.x.x > file
然後解析所述輸出,其中應該有一堆行,例如:
IP 172.17.17.17.ssh > 172.17.17.18.5878: Flags [P.], seq 952944:953232, ack 3521, win 283, length 288
計算每個資料包的大小(長度288),在插件中傳回總和。它不會 100% 準確,因為它將包含 IP/協定標頭等。但應該符合你的目的。
有用的連結:
https://supportforums.cisco.com/discussion/11018931/need-oid-rxload-and-input-rate http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/8141-calculate-bandwidth-snmp.html
編寫插件: