ささいなこと6を経験した、または「プリンターIvan Fedorovの会計と制御」

画像 「実験的なささいなこと」の継続。 前のパート: onetwothreefourfive



この投稿では、SNMPプロトコルを使用して組織の印刷統計を収集する際の、小さいながらも興味深い経験についてお話します。



問題の会社は非常に多く印刷しています。 大規模で強力なプリンター(HP 9000など)と中型の非常にホームクラスのプリンターがあります。 幸いなことに、それらはすべてネットワーク化されており、メーカーの範囲は狭く、HPとRicoh(NRGからMBまでのさまざまな役割)の2つしかありません。 そして、ある晴れた春の日、オフィスの口座を見て、無駄のない管理が課せられました。定期的に報道統計を収集し、 「後で分析できるよう 。 そして、彼らはあまり気にしませんでした。 「すべてのプリンターがネットワーク化されており、統計ページがあり、午前中にリストの周りに座って、Excelで数値を書き留めました





当然のことながら、私たちの意見では、それは面白くなく、愚かで、「疲れる」ものでした。 組織には多くのプリンターがあります。 そして、「どうやってそれを機能させるか」を考え始めました。 一般に、この欲求(「動作するように」)がすべてのシステム管理者にとって重要であり、必要であり、何度も何度もこれを行う人は私を優しく、うらやましく思う。



Webページのパーサーをすぐに拒否したため(これは誤りです。たとえば、リコーには動的なページがあり、行き先のURLはありませんでした)、古き良きSNMPに頼りました。 そして、これはそれから来たものです。



これは、頭字語SNMPがまだ何も意味していない人にとっては、少し余談する価値があるでしょう。 紳士、あなたは多くを逃します! 私はあなたに別の夜を捧げ、少なくとも基本的なレベルで問題を研究することを緊急に勧めます。 要するに、SNMPはUDPベースの管理および監視プロトコルです。 ネットワークインターフェースを備えたデバイスの大部分(すべてではない場合)はこのプロトコルをサポートしており、デバイスの動作に関するデータを収集するだけでなく、デバイス自体を制御するためにも使用できます。 SNMPプロトコル経由でアクセス可能なデータ(オブジェクト)、いわゆる OIDは階層順に編成されます。 国内プレーンでは、これは、デバイスに「番号」.1.3.6.1.4.1.11でOID値を要求すると、デバイスが応答してこの値を送信することを意味します。 そして、どのOIDが必要な値に対応するかを知っているので、デバイスをポーリングし、データベースでその応答を収集する小さなスクリプトを書くことができます。 たとえば、これらのすばらしい無料のユーティリティを使用して、デバイスに問い合わせることができます 。 先を見据えて、私たちの特定のケースでは、 SnmpgetSnmpWalk役に立ちました。



アルゴリズム全体は理解可能で、ユーティリティは手元にあり、最も興味深いものが残っていました-OIDが何を意味するのかを理解するために:印刷ページのカウンター。 いわゆるデバイス変数の完全な説明 MIBデータベースを見つけるのはかなり困難です( ここで検索しみてください )が、他の方法でもかまいません。



SnmpWalkユーティリティを使用して、デバイスをポーリングすると、デバイスから発行可能な値を持つすべてのOIDを取得します。 私たちの側では、必要なVALUESを明確に把握しています(実際、Webページで現在のステータスを確認できます)。 次に、それは小さな問題のままです:



画像
いくつかのコメント






おまけとして、 スクリプトのテキスト、 Excelマクロ、およびいくつかの説明を示します。







続く



All Articles