5 SNMP OIDsの検出 (legacy)

概要

このセクションでは、スイッチでSNMPの検出を実行します。

アイテムキー

ファイルシステムおよびネットワークインターフェースのディスカバリとは異なり、アイテムは必ずしも "snmp.discovery" キーを持っている必要はありません。SNMP エージェントのアイテムタイプで十分です。

ディスカバリルールを設定するには、次の手順を実行します。

  1. データ収集 > テンプレート に移動します。
  2. 適切なテンプレートの行にある ディスカバリ をクリックします。

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

必須入力フィールドには、赤いアスタリスクが付いています。

ディスカバリ対象の OID は、SNMP OID フィールドで次の形式で定義します: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]

ここで {#MACRO1}{#MACRO2} … は有効な lld マクロ名であり、oid1oid2... は、これらのマクロに対して意味のある値を生成できる OID です。組み込みマクロ {#SNMPINDEX} は、ディスカバリされた OID のインデックスを含み、ディスカバリされたエンティティに適用されます。ディスカバリされたエンティティは、{#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} マクロが WANLAN1LAN2 に設定され、{#IFPHYSADDRESS} マクロが 8:0:27:90:7a:758:0:27:90:7a:768:0:27:2b:af:9e に設定され、{#SNMPINDEX} マクロがディスカバリされた OID のインデックス 123 に設定されたエンティティがディスカバリされます。

[
    {
        "{#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ディスカバリールールが返す値に基づいて、実際のアイテム、トリガー、グラフが作成されます。ホストの設定では、それらがどのディスカバリールールから来たかを示すオレンジ色のリンクが先頭に付いています。