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

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

必須の入力フィールドには、赤いアスタリスクが付いています。
検出する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ディスカバリルールが返す値に基づいて、実際のアイテム、トリガー、グラフが作成されます。ホスト設定では、それらには生成元のディスカバリルールへのオレンジ色のリンクが接頭表示されます。


