Zabbix、任意のハードウェアをMIBで接続します

FTTBの建設が始まり、メーカーのEdge-coreから新しい機器が登場しました。 当然、新しいハードウェアをZabbixにねじ込みたいと思いました。 以前私は単純に行動しました-鉄片にsnmpwalkを設定し、受信したデータを分析しました。 結果は数メガバイトのテキスト以下になる可能性があるため、このパスは十分に長く、目的の値を見つけることは非常に困難です。 しかし、別の方法があります-MIBデバイスを使用する。 ただし、ZabbixはMIBファイルを直接操作することはできません。 どうする?

zabixフォーラムで、 Zabbixユーティリティ用のすばらしいSNMP Builderを見つけました。 その助けを借りて、MIBで基本的なデバイステンプレートを作成し、ペンで通常の状態に仕上げることができます。

Edge-coreハードウェアの例でこれを行う方法を説明します。







ユーティリティのインストール



このユーティリティの開発者のブログから、または直接こちらからダウンロードできます。 ブログには、インストールと使用に関する簡単な説明があります。 しかし、簡単に繰り返します。

1.アーカイブをダウンロードします。 アーカイブには、ディレクトリと1つのsnmp_builder.phpファイルが含まれます。

2.アーカイブをフロントエンドのあるディレクトリに解凍します。

3. snmp_builder.phpを開き、必要に応じて、mibファイルの場所へのパスを調整します。

define('MIBS_ALL_PATH', '/home/zabbix/public_html/snmp_builder/mibs:/usr/share/snmp/mibs');







4.メニュー項目Snmp Builderをフロントエンドの「管理」メニューに追加します。

これを行うには、include / menu.inc.phpを開き、203行の領域で(私のバージョンでは203行ではありませんでした)コードを次のように変更します。

'label' =>S_NOTIFICATIONS

),

array( 'url' => 'locales.php' ,

'label' =>S_LOCALES

),

array( 'url' => 'snmp_builder.php' ,

'label' => 'SNMP Builder'

),

array( 'url' => 'instal.php' ,

'label' =>S_INSTALLATION,

'sub_pages' =>array( 'setup.php' , 'warning.php' )

)

)




* This source code was highlighted with Source Code Highlighter .








テンプレートを作成





最初に探しているのは鉄のMIBです。 メーカーは、シーメンスとは異なり、彼の泥棒を隠しませんでした。 公式ウェブサイトwww.edge-core.ruから自由にダウンロードしました。

次に、ダウンロードしたMIBは、パラグラフ3に示すディレクトリのいずれかに配置されます。

Administration / Snmp Builderメニューを開きます。

同様の画像が表示されます。







[ テンプレート]リストで、新しいアイテムを追加するテンプレートを選択します。 事前に新しい空のテンプレートを作成しました。 MIBリストで、デバイスのMIBを選択し、[ サーバー]フィールドにip devicesと入力し、[ コミュニティ ]フィールドにデバイスのsnmpコミュニティストリングを入力します。 すべてが正しければ、上の図が得られます。 組み込みのMIBが十分にない場合に状況が発生する可能性があります



モジュールが見つかりません(CISCO-SMI):/ home / zabbixの21行目:/ home / zabbix / public_html / snmp_builder / mibs / CISCO-IP-IF-MIB mibの21行目:モジュールが見つかりません(CISCO-SMI):/ home / zabbixの21行目/public_html/snmp_builder/mibs/CISCO-IP-IF-MIB.mib


テキストからわかるように、CISCO-SMI mibは欠落しています。歯でグーグルと言い、欠落しているMIBを探し、それを見つけた後、上記の段落3に示すMIB検索パスに入れます。 不足しているMIBに関するエラーが消えるまで、操作を繰り返します。



場合によっては(私の場合も)、315行目からsnmp_builder.phpコードを調整する必要があります

foreach (glob($path. "/*.mib" ) as $filename){

if (preg_match( '/^' .preg_quote($path, '/' ). '\/(.+)\.mib$/' ,$filename,$matches)){

$result=exec( "cat " .$filename. "| grep -i 'DEFINITIONS.*::=.*BEGIN'|awk '{print $1}'" );

$cmbMibs->addItem($result,$result);

}

}




* This source code was highlighted with Source Code Highlighter .








上記のすべてが役立つ場合、OIDツリーが表示されます。





このツリーで、目的のテーブルを選択すると、上部に表示されます。 この表では、フィールドまたは列見出しをクリックしてこの列のすべてのパラメーターを選択することで、必要なパラメーターを選択するだけで十分です。 選択した項目とその設定は、画面の下部に表示されます。 パラメータを含む行をクリックするか、[ リストをすべてクリア ]をクリックして、1つずつ削除できます。 追加したアイテムが適切な場合は、[ 保存 ]ボタンをクリックします 。 下の表の項目をクリックすると、選択した既存のテンプレートに新しい項目として追加されます。



必要な要素がすべて選択されるまで、この操作を繰り返します。



選択したスイッチについて、説明とステータスにインターフェイスカウンターを追加しました。 また、STPプロトコルのステータス(インターフェイスの状態、ルートポート番号、デバイスの重み、トポロジ変更の数)などが追加されました。



必要なすべてのアイテムを追加した後、それらを編集するとよいでしょう。 デフォルトでは、すべてのアイテムのポーリング間隔は60秒です。これは明らかに不要です。 ホスト名、ファームウェアバージョン、エイリアスインターフェイスなどの重要でないデータの場合、84600秒(24時間)の間隔を設定できます。

カウンターの状況はもう少し複雑です。インターフェイスの許容ポーリング間隔は、私の意見では300秒であり、ストレージ形式を「デルタ/秒」に変更する必要があります。



値「StpPortState」では、値を人間が読める形式に変換する必要もあります。

最初に、管理/一般設定/ MIBからプルするコード値ペアの値の変換で、デジタル値のテキストへの変換を構成します





アイテムを設定する際に、選択します





少なくとも単純なpingチェックをテンプレートに追加する必要があります。





このチェックでは、鉄片が90秒以上使用できない場合に機能するトリガーを掛ける必要があります。





IfOctets OutOctetsカウンターで読み込みインターフェイスのグラフを描画できます





次のトリガーとグラフは類推によって行われます。

たとえば、STPでインターフェイスの役割を変更するときに、実行時間を短くして、インターフェイスが80%以上読み込まれたときにトリガーするトリガーを追加しました。



この情報が、MIBを備えたハードウェアをZabbix監視システムに追加するのに役立つことを願っています。



PS:これはzabbixに関する私の記事の続きです: 記事3記事2記事1





All Articles