ダイナミックインデックスは、Zabbix バージョン1.5以降でサポートされています。
アイテムOID用の特別な構文を使用して動的データ(ネットワークインタフェースのランダムIDなど)を処理できます。構文は以下のとおりです。
<base OID of data>["index","<base OID of index>","<string to search for>"]
たとえば、CiscoデバイスのGigabitEthernet0/1インタフェースのifInOctetsを取得する場合、次のようなOIDを使用できます:
パラメータ 説明 | |
---|---|
base OID of data | データの取得に使用するベースOID。 |
index | 処理方法。現在サポートされている方法は以下の1つです。\\index - インデックスを検索し、それをベースOIDに追加します。 |
base OID of index | 文字列の検索に使用するOID。 |
string to search for | 値との完全一致検索で使用する文字列。大文字と小文字が区別されます。 |
別の例として、Apacheプロセスのメモリ使用量を取得する方法を以下に示します。
HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath", "/usr/sbin/apache2"]
...
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に追加されます。
HOST-RESOURCES-MIB::hrSWRunPerfMem.5376 = INTEGER: 528 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5377 = INTEGER: 528 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5389 = INTEGER: 31740 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5390 = INTEGER: 32116 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5391 = INTEGER: 30420 KBytes
HOST-RESOURCES-MIB::hrSWRunPerfMem.5392 = INTEGER: 32560 Kbytes
<note tip>Zabbix1.6.3以降ではダイナミックインデックスはキャッシュされます。 ::: <note tip>Zabbix1.7までのバージョンではダイナミックインデックスを使用するとSNMPのクエリが増大します。Zabbixバージョン1.7以降、シングルコネクションにおけるダイナミックインデックス検索およびデータ取得が実行できるようになりました。 :::