You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

5 SNMP OIDsの検出 (legacy)

概要

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

アイテムキー

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

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

  • データ収集テンプレート に移動します
  • 適切なテンプレートの行で ディスカバリ をクリックします

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

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

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

ここで {#MACRO1}, {#MACRO2} … は有効なlldマクロ名、oid1, oid2... はこれらのマクロに対して意味のある値を生成できる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ディスカバリールールが返す値に基づいて、実際のアイテム、トリガー、グラフが作成されます。ホストの設定では、それらがどのディスカバリールールから来たかを示すオレンジ色のリンクが先頭に付いています。