2015-02-23 91 views
1

我正在使用snmp4j來收集POE(以太網供電)端口的功耗。但有些設備不支持POE。當我去問這些設備的功耗時,他們最終會超時。檢查設備是否有snmp對象而不等待超時?

等待超時會在網頁上顯示信息時產生不希望的延遲。

我不認爲有一個普遍可用的對象,會告訴你,如果設備支持POE,所以我想知道是否有辦法問一個設備,如果一個對象存在沒有實際請求對象,然後等待超時。

回答

2

1)一些設備將支持SNMPv2-MIB::sysORTable;可能你可以檢索一下,看看是否與POE目前MIB試圖檢索POE數據之前

報價How can I get MIBs list from a remote server by using PHP?sysORTable是(這裏假設是POE檢索是緩慢的而不是SNMP往返!):

「(概念性)表列出了作爲命令響應方的本地SNMP應用程序相對於各種MIB模塊的能力 支持MIB模塊的SNMP實體將具有動態變化的數量 概念性行。「

下面是我得到一個標準的Linux主機:

snmptable -M +. -m +ALL -v 2c -c public -Pu -Ci <some ipaddr> SNMPv2-MIB::sysORTable 
SNMP table: SNMPv2-MIB::sysORTable 

index          sysORID            sysORDescr sysORUpTime 
    1   SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1   The MIB for Message Processing and Dispatching. 0:0:00:00.30 
     // SNIP 
    6          IP-MIB::ip The MIB module for managing IP and ICMP implementations 0:0:00:00.30 
    7        UDP-MIB::udpMIB   The MIB module for managing UDP implementations 0:0:00:00.30 
    8  SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup    View-based Access Control Model for SNMP. 0:0:00:00.30 

2)或者你可以使用目前的方法,除了用更短的(非默認)SNMP檢索超時?

+0

原來我是在查詢幾個對象,因此很長一段時間。不確定什麼是可操作的,但你的答案已經很好的考慮過了,可能對別人有幫助。我最終做的只是查詢端口功耗,然後計算元件數量。如果它爲零,則不支持POE。 – 2015-02-24 20:53:53

相關問題