5 SNMP OIDsの検出 (legacy)
概要
このセクションでは、スイッチでSNMPの検出を実行します。
アイテムキー
ファイルシステムやネットワークインターフェースのディスカバリとは異なり、このアイテムは必ずしも "snmp.discovery" キーである必要はありません。SNMPエージェント のアイテムタイプであれば十分です。
ディスカバリルールを設定するには、次の手順を実行します。
- データ収集 → テンプレート に移動します
- 適切なテンプレートの行で ディスカバリ をクリックします

- 画面右上の ディスカバリルールの作成 をクリックします
- 以下のスクリーンショットのように、必要な詳細をディスカバリルールのフォームに入力します

必須入力フィールドには、赤いアスタリスクが付いています。
検出するOIDは、SNMP OIDフィールドで次の形式で定義します: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
ここで、{#MACRO1}、{#MACRO2} … は有効なlldマクロ名であり、oid1、oid2... はそれらのマクロに対して意味のある値を生成できるOIDです。検出されたOIDのインデックスを含む組み込みマクロ {#SNMPINDEX} が、検出されたエンティティに適用されます。検出されたエンティティは、{#SNMPINDEX} マクロの値によってグループ化されます。
意味を理解するために、スイッチに対していくつか snmpwalk を実行してみましょう。
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: WAN
IF-MIB::ifDescr.2 = STRING: LAN1
IF-MIB::ifDescr.3 = STRING: LAN2
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e
そして、SNMP OID を次のように設定します:
discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]
このルールにより、{#IFDESCR} マクロが WAN、LAN1、LAN2 に設定され、{#IFPHYSADDRESS} マクロが 8:0:27:90:7a:75、8:0:27:90:7a:76、8:0:27:2b:af:9e に設定され、{#SNMPINDEX} マクロが検出されたOIDのインデックス 1、2、3 に設定されたエンティティが検出されます。
[
{
"{#SNMPINDEX}": "1",
"{#IFDESCR}": "WAN",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
},
{
"{#SNMPINDEX}": "2",
"{#IFDESCR}": "LAN1",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
},
{
"{#SNMPINDEX}": "3",
"{#IFDESCR}": "LAN2",
"{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
}
]
あるエンティティに指定されたOIDが存在しない場合、そのエンティティでは対応するマクロは省略されます。たとえば、次のデータがあるとします。
ifDescr.1 "Interface #1"
ifDescr.2 "Interface #2"
ifDescr.4 "Interface #4"
ifAlias.1 "eth0"
ifAlias.2 "eth1"
ifAlias.3 "eth2"
ifAlias.5 "eth4"
この場合、SNMPディスカバリ
discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] は次の構造を返します。
[
{
"{#SNMPINDEX}": 1,
"{#IFDESCR}": "Interface #1",
"{#IFALIAS}": "eth0"
},
{
"{#SNMPINDEX}": 2,
"{#IFDESCR}": "Interface #2",
"{#IFALIAS}": "eth1"
},
{
"{#SNMPINDEX}": 3,
"{#IFALIAS}": "eth2"
},
{
"{#SNMPINDEX}": 4,
"{#IFDESCR}": "Interface #4"
},
{
"{#SNMPINDEX}": 5,
"{#IFALIAS}": "eth4"
}
]
アイテムのプロトタイプ
次のスクリーンショットは、これらのマクロをアイテムのプロトタイプでどのように使用できるかを示しています。

必要に応じて、アイテムのプロトタイプをいくつでも作成できます。

トリガーのプロトタイプ
次のスクリーンショットは、これらのマクロをトリガーのプロトタイプでどのように使用できるかを示しています。


グラフプロトタイプ
以下のスクリーンショットは、これらのマクロをグラフプロトタイプでどのように使用できるかを示しています。


ディスカバリルールの概要:

検出されたエンティティ
サーバーが実行されると、SNMPディスカバリルールが返す値に基づいて、実際のアイテム、トリガー、グラフが作成されます。ホストの設定では、これらには生成元のディスカバリルールへのオレンジ色のリンクが接頭表示されます。


