職場にある 100 台以上のプリンタの合計ページ数を把握するように依頼されました。それらはすべて HP レーザーまたは何らかの種類のビジネス ジェットで、大多数は何らかの形の HP JetDirect ネットワーク カード/スイッチを介して接続されています。IP アドレスを入力し、関連する数字をコピーして Excel に貼り付けるのに何時間も費やした後、今ではこれを毎週行うように依頼されています。これにより、もっと簡単な方法があるはずだと考えました。IT プロフェッショナルとして、この問題を解決するために時間を節約する方法をきっと見つけられるはずです。
1 日かそこら SNMP をうまく機能させようと努力した後、今となっては自分がプロフェッショナルであるとは思えないと言うだけで十分でしょう。
私が理解している限りでは、まずプリンターで SNMP を有効にすることです。完了です。次に、SNMP ビットを照会する何かが必要です。私はオープン ソースで無料にすることに決め、ここで誰かが適切なツールとして net-snmp を勧めてくれました (プリンターを SolarWinds のノードとして追加したいのですが、どうやらライセンスが厳しいようです)。次に、MIB の名前が必要です。これには、HP-LASERJET-COMMON-MIB に正しい情報が含まれていると思います。これをダウンロードして、net-snmp に追加しました。次に、OID が必要です。これは、徹底的に調べた結果、printed-media-simplex-count であると思います (少なくとも、関心のある両面プリンターはありません)。次のコマンドを実行すると、次のような意気消沈させる出力が得られます。
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 (またはその両方) を使用しているような気がします。これについて、私にアドバイスをくれる人はいませんか? それとも、あきらめて各プリンタの Web ページを個別にナビゲートする作業に戻ったほうがよいでしょうか (そうならないことを願っています)。
答え1
これはかなり奇妙です。この情報は SNMP 経由で公開されていると思っていました。しかし、P4515 の 1 つをすばやく 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 を使用すると、プリンタの Web ページから値を取得する手間を省くことができます。以下の例を変更して、必要な操作を実行できるはずです。
Perl/Python には、オプションとして Web スクレイピング モジュールもあります。