4 SNMP OIDsの検出
概要
このセクションでは、スイッチに対してSNMP 検出を実行します。
このSNMP OID検出方法は、Zabbixサーバー/プロキシ6.4以降でサポートされています。
アイテム、トリガー、グラフのプロトタイプ
アイテムのプロトタイプは、検出ルールのマクロを使用して、依存アイテムのプロトタイプとして作成する必要があります。
依存アイテムは、walk[] マスターアイテムから値を取得します。そのため、検出された各アイテムが個別にSNMPデバイスにクエリを実行する必要はありません。
トリガーとグラフのプロトタイプも、検出ルールのマクロを使用して作成できます。
walk[] を使用した動的インデックス
動的インデックス(インターフェースインデックスなど)は、ハードウェアの再構成時に変更される可能性があります。 この動作に対応するために、マスターSNMPウォーク検出ルールは次のようなキーを使用して作成されます。
walk[1.3.6.1.2.1.2.2.1.10]
SNMPウォークからJSONへの前処理後、結果は次のようになります。
[
{
"{#SNMPINDEX}": "2",
"{#VALUE}": "123456"
},
{
"{#SNMPINDEX}": "3",
"{#VALUE}": "654321"
}
]
依存アイテムのプロトタイプは、{#SNMPINDEX}マクロを使用してキーを構築します。
net.if.in[{#SNMPINDEX}]
このプロトタイプの前処理には、"SNMPウォーク値"の名前とパラメータフィールドに"1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}" OIDを指定します。 フォーマット: "変更なし"。
実行時に、net.if.in[2] や net.if.in[3] などの実際の項目が作成されます。
特定のインターフェースインデックスが変更された場合(例えば、SNMPテーブルでインデックス 2 が 5 に置き換えられた場合)、検出ルールの次回実行時に以下の処理が行われます。
- 古い依存項目 net.if.in[2] は"消失"または削除とマークされ、その項目の新しいデータは収集されません。
- 新しい依存項目 net.if.in[5] が作成され、履歴は空になります。
- net.if.in[2] の履歴データは net.if.in[5] に自動的には移動されません。
トリガーのプロトタイプ例:
{Template_Interface:net.if.in[{#SNMPINDEX}].last()} > 1000000000
グラフのプロトタイプ例に含まれる項目:
net.if.in[{#SNMPINDEX}]
net.if.out[{#SNMPINDEX}]
この構成により、SNMPトラフィックを最小限に抑えながら、動的インデックスを持つテーブルを確実に監視できます。ポーリングサイクルごとに1回のSNMPウォークのみが必要で、依存する項目プロトタイプによって必要な値が抽出されます。
検出されたエンティティ
サーバーが実行される際、SNMP検出ルールが返す値に基づいて、実際の依存アイテム、トリガー、グラフが作成されます。