SNMPのOIDの中に必要なインデックス番号(例えば、ネットワークインターフェースのIDなど)を見つけたとしても、そのインデックス番号が常に同じであるとはいえない場合があります。
インデックス番号は動的になり得ます - 時間をかけて変わり、結果としてアイテムが動作しなくなる可能性があります。
これを避けるために、インデックス番号の変更の可能性を考慮したOIDを定義することが可能です。
例えば、Ciscoデバイスの GigabitEthernet0/1 インターフェースのifInOctetsに添えるインデックス値を取得する必要がある場合、次のOIDを使用します:
アイテムOID用の特別な構文を使用して、動的データを処理します:
<OID of data>["index","<base OID of index>","<string to search for>"]
パラメータ 説明 | |
---|---|
OID of data | アイテムのデータの取得に使用するメインのOID |
index | 処理方法。現在1つの方法がサポートされています: index – インデックスを検索し、それをデータOID に追加します。 |
base OID of index | このOIDが検索され、文字列に相当するインデックス値を取得します。 |
string to search for | 値との完全一致検索で使用する文字列。大文字と小文字が区別されます。 |
Apache プロセスのメモリ使用量を取得する方法 このOID構文を使用した場合:
ここでインデックス番号が検索されます:
...
HOST-RESOURCES-MIB::hrSWRunPath.5376 = STRING: "/sbin/getty"
HOST-RESOURCES-MIB::hrSWRunPath.5377 = STRING: "/sbin/getty"
HOST-RESOURCES-MIB::hrSWRunPath.5388 = STRING: "/usr/sbin/apache2"
HOST-RESOURCES-MIB::hrSWRunPath.5389 = STRING: "/sbin/sshd"
...
これでインデックス5388を取得しました。このインデックスは目的の値を取得するために、データOIDに追加されます:
Zabbix 1.6.3以降では、ダイナミックインデックスはキャッシュされています。
<note tip>Zabbix1.7までのバージョンでは、ダイナミックスインデックスを使用するとSNMPのクエリーが増大していました。Zabbix1.7以降は、ダイナミックインデックスの検索とデータ取得がシングルコネクションで実行されるようになっています。 :::
本ページは2013/04/30時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。