Sidebar

2 SNMP エージェント

概要

プリンタやネットワークスイッチ、ルーター、UPSといった、通常SNMPが使用可能で、完全なOSやZabbix エージェントを設定するのが非現実的なデバイスには、SNMP監視を使用します。

それらのデバイスに関してSNMPエージェントが収集したデータを取得できるようにするには、最初にZabbix サーバがSNMPをサポートするように設定する必要があります。 SNMPチェックは、 UDPプロトコル上でのみ実行されます。

SNMPv3デバイスを監視する場合は、(snmpEngineID または「Engine ID」としても知られている)msgAuthoritativeEngineID が2つのデバイスに共有されていないことを確認してください。msgAuthoritativeEngineIDは、それぞれのデバイスに対して一意である必要があります。

SNMPv3のプライバシーと認証では、現在、MD5 と DES プロトコルがサポートされています。

SNMP監視の設定

SNMPによるデバイスの監視を開始するには、次のステップを実行する必要があります:

ステップ1

SNMPインターフェースをもつデバイスのためのホストの作成

IPアドレスを入力し、ホストのステータスを「無効」に設定します。自動的にアイテムのセットを追加するSNMPテンプレート(「Template SNMP Device」 など)の1つを使用することができますが、そのテンプレートとホストに互換性がない場合もあります。

SNMPチェックは、Agent port を使用しません。Agent portの指定は無視されます。

ステップ2

監視するアイテムのSNMP文字列(またはOID)の特定

SMNP 文字列のリストを取得するには、(ZABBIXインストールに付属するucd-snmp/net-snmpソフトウェアに含まれる)snmpwalk コマンド、またはそれに相当するツールを使用します:

shell> snmpwalk -v 2c -c public <host IP> .

「2c」はここでは、SNMPのバージョンの略で、そのデバイスでSNMPバージョン1を示すために「1」と指定することもできます。

これでSNMP文字列とその最新値のリストが表示されます。リストが表示されない場合は、SNMP「コミュニティ」が標準の「public」ではないことが考えられるので、SNMPコミュニティがが何かを確認する必要があります。 リストが表示されたら、監視する文字列を探します。たとえば、スイッチのポート3に着信するバイト数を監視する場合、この行からIF-MIB::ifInOctets.3の文字列を使用します。

IF-MIB::ifInOctets.3 = Counter32: 3409739121

次に、「IF-MIB::ifInOctets.3」に対する数値のOIDを調べるために、snmpgetコマンドを実行します:

shell> snmpget -v 2c -c public -On 10.62.1.22 IF-MIB::ifInOctets.3

文字列の最後の数値は、監視するポート番号です。こちらも参照:ダイナミックインデックス このコマンドを実行すると、以下のような文字列が出力されます:

.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 3472126941

出力されたOIDの最後の数値もポート番号です。

3COMは、ポート1=ポート101、ポート3=ポート103というように、ポート番号を100単位で使用するようです。一方Ciscoは、ポート3=ポート3というようにそのまま使用します。

<note tip>最もよく使用されるSNMPのOIDのいくつかは、Zabbixによって自動的に数値表示に変換されます。 :::

ステップ3

監視するアイテムの作成

Zabbixに戻り、アイテムをクリックして、先のステップで作成したSNMPホストを選択します。ホストを作成する際にテンプレートを使用したかどうかによって、ホストに関連付けられているSNMPアイテムのリストが表示される場合と、新しいアイテムを入力するボックスだけが表示される場合があります。ここではsnmpwalkとsnmpgetを使用して収集した情報に基づいてアイテムを作成するものと仮定して、新しいアイテムの[名前] フィールドに簡単な説明を英語で入力します。[ホスト] フィールドに「スイッチ/ルータ」があることを確認し、[タイプ]フィールドを「SNMPv*」に変更します。コミュニティ(通常は「public」)を入力し、[SNMP OID]フィールドに先のステップで取得したOIDを入力します。例: .1.3.6.1.2.1.2.2.1.10.3

[SNMPポート]に161を入力し、[キー]に有効な値(「SNMP-InOctets-Bps」など)を入力します。必要に応じて[乗数]を選択し、[更新間隔]と[ヒストリの保存期間(日)]では必要に応じてデフォルト以外の値を入力します。[ステータス]に「有効」、[データ型]に「数値」、[保存時の計算]に「差分」を設定します。(「差分」以外の値を設定すると、SNMPデバイスから直近の変化量ではなく累積値を取得することになるので、必ず「差分」を設定してください。)

以上の内容でアイテムを保存し、Zabbixの「ホスト」領域に戻ります。ここでSNMPデバイスのステータスを「有効」に設定し、必要なSNMPデータについて「最新データ」を選択します。

例1

一般的な例 :

パラメータ 説明
コミュニティ publi
OID 1.2.3.45.6.7.8.0(または.1.2.3.45.6.7.8.0)
キー < リガーが参照する一意な文字列>例えば、「‘my_param」

OIDは数値または文字列のどちらでも指定できます。ただし、いくつかのケースでは、文字列のOIDを数値表現に変換する必要がある場合があります。その場合、OIDの変換には、snmpget を使用します:

shell> snmpget -On localhost public 

Zabbix ソースの設定の間に--with-net-snmpフラグ か --with-ucd-snmp フラグが指定された場合には、SNMPパラメータの監視が可能です。

例2

アップタイムの監視:

パラメータ 説明
コミュニティ publi
OID MIB::sysUpTime.0
キー r uter.uptime
データ型 浮動小
単位 U time
乗数 0 01

本ページは2013/04/30時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。