透過 SNMP HP Laserjet 查詢總頁數

透過 SNMP HP Laserjet 查詢總頁數

我被要求掌握我們工作中 100 多台印表機的總頁數。所有這些都是 HP 雷射機或某種類型的商務噴射機,並且絕大多數透過某種形式的 HP JetDirect 網卡/交換機進行連接。經過幾個小時的輸入 IP 位址並將相關數字複製並貼上到 Excel 中之後,我現在被要求每週執行一次此操作。這讓我覺得一定有更簡單的方法,身為 IT 專業人員,我絕對可以找到一些節省時間的方法來解決這個問題。

我只想說,在嘗試讓 SNMP 為我工作一天左右之後,我現在感覺不太專業!

據我了解,第一件事是在印表機上啟用 SNMP。完畢。接下來我需要一些東西來查詢 SNMP 位元。我決定採用開源和免費,這裡有人推薦 net-snmp 作為一個不錯的工具(我想剛剛將印表機添加為 SolarWinds 中的節點,但顯然我們的許可證有些緊張)。接下來我需要 MIB 的名稱。為此,我相信 HP-LASERJET-COMMON-MIB 中包含正確的資訊。下載這個並加入到 net-snmp 中。現在我需要 OID,我相信經過多次搜索後它是印刷媒體單面計數(我們沒有雙面印表機,至少我們對此感興趣)。執行以下命令會產生以下令人沮喪的輸出:

snmpget -v 2c -c public 10.168.5.1 HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1

(OID 源自於運行:

snmptranslate -IR -On printed-media-simplex-count  
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }  
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER  
JET-COMMON-MIB..txt  
.1.3.6.1.2.1.1.16.1.1.1  )  


Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }  
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER  
JET-COMMON-MIB..txt  
HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1:  

我是不是完全找錯樹了?我的目標是將其全部編寫為腳本,將所有印表機的 IP 位址輸出到一個文件,然後將其放入 Excel 中,供我的領主和主人在閒暇時消化。我有一種感覺,我使用了錯誤的 MIB 或所述 MIB 中的錯誤 OID(或兩者)。有人對我有任何指示嗎?或者我應該放棄並返回單獨導航每個印表機網頁(希望不是)。

答案1

嗯,這相當奇怪——我以為資訊是透過 SNMP 公開的。然而,對我們的一台 P4515 進行快速 snmpwalk 僅顯示使用目前安裝的定影器列印的頁數。要查看透過 snmp 公開的所有信息,我執行了以下操作:

snmpwalk -Cc -v 1 -c public ipaddress

如果目前安裝的定影器上列印頁面的 OID 有任何用處,則為:

2.43.10.2.1.4.1.1

答案2

標準「總頁數」位於 1.3.6.1.2.1.43.10.2.1.4.1.1

不同型號使用不同的 OID 來獲取詳細信息,例如傳真/複印/打印/雙面/彩色/黑白/...的頁數。

答案3

恐怕我無法提供 MIB 方面的幫助,但您可以使用 PowerShell 來減輕從印表機網頁上抓取值的麻煩。應該可以修改下面的範例來執行您需要的操作:

http://blogs.technet.com/b/otto/archive/2007/08/23/quick-and-dirty-web-site-monitoring-with-powershell.aspx

Perl/Python 也有 Web 抓取模組(如果可以的話)。

相關內容