ルーター経由のSNMPでスイッチの状態を取得する方法

概要

ヤマハルーターに接続したヤマハスイッチの状態をルーター経由のSNMPで取得できます。

対応機種とファームウェアリビジョン

ヤマハルーターでは、以下の機種およびファームウェアで接続したヤマハスイッチの状態をルーター経由のSNMPで取得できます。

機種 ファームウェア SWX2200-8G
SWX2200-24G
RTX820 Rev.11.03.16以降
RTX1200 Rev.10.01.40以降

また、以下のスイッチをサポートしています。

機種
SWX2200-8G
SWX2200-24G

詳細

ルーターのインタフェース番号

  • SNMP のインタフェース番号は、LAN インタフェース、PP インタフェースなどのルーターが持つインタフェースについて、それぞれの実装数や最大数などに応じ 1 から割り当てられます。
  • スイッチへのインタフェース番号の割り当ては、yrSwIndexの順番に依存します。yrSwIndexの順番は、LANインタフェース番号が小さく、ポート番号の小さいものから優先して割り当てられます。この優先度に従って、割り当てはスイッチの認識状態の変化に伴い動的に変化します。
  • ifDescrはスイッチ機能のsystem-nameから決定されます。system-name が SWX2200-8G_XYYY であればポート1が SWX2200-8G_XYYY:1 となります。
  • WANインタフェース及びL2TP/IPsec追加に伴いIndexを変更(RTX1200 Rev.10.01.33以降)
  • RTX1200 (LAN分割機能との併用はできません)
    • タグVLANを使用しない場合 (Rev.10.01.33以降)
      Index インタフェース 備考
      1~3 LAN1~LAN3  
      4 WAN1  
      5 BRI1  
      6~105 PP01~PP100 snmp yrifppdisplayatmib2 on設定時に有効
      106~228 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      229~328 Tunnel01~100 snmp yriftunneldisplayatmib2 on設定時に有効
      329 NULL  
      330~338 Loopback01~09  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  
    • タグVLANを使用する場合 (Rev.10.01.33以降)
      Index インタフェース 備考
      1 LAN1(VLAN1)  
      2~3 LAN2~LAN3  
      4 WAN1  
      5~11 VLAN2~VLAN8  
      12~43 LAN1/1~LAN1/32  
      44~75 LAN2/1~LAN2/32  
      76~107 LAN3/1~LAN3/32  
      108 BRI1  
      109~208 PP01~PP100 snmp yrifppdisplayatmib2 on設定時に有効
      209~331 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      332~431 Tunnel01~100 snmp yriftunneldisplayatmib2 on設定時に有効
      432 NULL  
      433~441 Loopback01~09  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  
    • タグVLANを使用しない場合 (Rev10.01.25以前)
      Index インタフェース 備考
      1~3 LAN1~LAN3  
      4 BRI1  
      5~104 PP01~PP100 snmp yrifppdisplayatmib2 on設定時に有効
      105~197 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      198~297 Tunnel01~100 snmp yriftunneldisplayatmib2 on設定時に有効
      298 NULL  
      299~307 Loopback01~09  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  
    • タグVLANを使用する場合 (Rev.10.01.25以前)
      Index インタフェース 備考
      1 LAN1(VLAN1)  
      2~3 LAN2~LAN3  
      4~10 VLAN2~VLAN8  
      11~42 LAN1/1~LAN1/32  
      43~74 LAN2/1~LAN2/32  
      75~106 LAN3/1~LAN3/32  
      107 BRI1  
      108~207 PP01~PP100 snmp yrifppdisplayatmib2 on設定時に有効
      208~300 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      301~400 Tunnel01~100 snmp yriftunneldisplayatmib2 on設定時に有効
      401 NULL  
      402~410 Loopback01~09  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  
  • RTX820 (LAN分割機能との併用はできません)
    • タグVLANを使用しない場合
      Index インタフェース 備考
      1~2 LAN1~LAN2  
      3 WAN1  
      4~33 PP01~PP30 snmp yrifppdisplayatmib2 on設定時に有効
      34~79 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      80~109 Tunnel01~30 snmp yriftunneldisplayatmib2 on設定時に有効
      110 NULL  
      111~119 Loopback01~09  
      120 Bridge1  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  
    • タグVLANを使用する場合
      Index インタフェース 備考
      1 LAN1(VLAN1)  
      2 LAN2  
      3 WAN1  
      4~6 VLAN2~VLAN4  
      7~14 LAN1/1~LAN1/8  
      15~22 LAN2/1~LAN2/8  
      23~52 PP01~PP30 snmp yrifppdisplayatmib2 on設定時に有効
      53~98 PP Anonymous snmp yrifppdisplayatmib2 on設定時に有効
      99~128 Tunnel01~30 snmp yriftunneldisplayatmib2 on設定時に有効
      129 NULL  
      130~138 Loopback01~09  
      139 Bridge1  
      :
      QoS QoSで使用
      100,000,000~199,999,999 スイッチ1~  

MIB

スイッチのインタフェースの情報は、ifTableを参照することで基本的な情報を取得できます。

ifTable以下のMIB変数を取得するにはスイッチにカウンタの設定が必要なものがあります。

  • ifInUcastPkts ... switch control function set counter-frame-rx-typeコマンドで以下のタイプの設定が必要です
    • broadcasts-and-multicast-packets、total-good-packets
  • ifInNUcastPkts ... switch control function set counter-frame-rx-typeコマンドで以下のタイプの設定が必要です
    • broadcasts-and-multicast-packets
  • ifInDiscards ... switch control function set counter-frame-rx-typeコマンドで以下のタイプの設定が必要です
    • fifo-drops
  • ifInErrors ... switch control function set counter-frame-rx-typeコマンドで以下のタイプの設定が必要です
    • total-error-packets
  • ifOutUcastPkts ... switch control function set counter-frame-tx-typeコマンドで以下のタイプの設定が必要です
    • broadcasts-and-multicast-packets、total-good-packets
  • ifOutNUcastPkts ... switch control function set counter-frame-tx-typeコマンドで以下のタイプの設定が必要です
    • broadcasts-and-multicast-packets
  • ifOutDiscards ... switch control function set counter-frame-tx-typeコマンドで以下のタイプの設定が必要です
    • fifo-drops
  • ifOutErrors ... switch control function set counter-frame-tx-typeコマンドで以下のタイプの設定が必要です
    • total-error-packets

以下のMIB変数については常に0を返します。

  • ifLastChange
  • ifInUnknownProtos
  • ifOutQLen
  • ifSpecific

より詳細な情報を取得するには プライベート MIB の yamahaRTSwitch を参照します。

yamahaRTSwitch (1.3.6.1.4.1.1182.2.5)

 yamahaRTSwitch(1.3.6.1.4.1.1182.2.5)
  +- yamahaRTSwitch(1.3.6.1.4.1.1182.2.5.0) Trap
  |   +- yrSwFindSwitch(1.3.6.1.4.1.1182.2.5.0.1)
  |   |    スイッチの発見のトラップ
  |   +- yrSwDetectDown(1.3.6.1.4.1.1182.2.5.0.2)
  |   |    スイッチの除去のトラップ
  |   +- yrSwFanLock(1.3.6.1.4.1.1182.2.5.0.3)
  |   |    ファン停止のトラップ
  |   +- yrSwOverSupply(1.3.6.1.4.1.1182.2.5.0.4)
  |   |    給電能力オーバーのトラップ
  |   +- yrSwOverTemp(1.3.6.1.4.1.1182.2.5.0.5)
  |   |    温度異常のトラップ
  |   +- yrSwPowerFailure(1.3.6.1.4.1.1182.2.5.0.6)
  |        電源異常のトラップ
  |
  +- yrSwNumber(1.3.6.1.4.1.1182.2.5.1) (read-only)
  |     認識できているスイッチの数
  |
  +- yrSwTable(1.3.6.1.4.1.1182.2.5.2)
  |   +- yrSwEntry(1.3.6.1.4.1.1182.2.5.2.1) { yrSwIndex }
  |       +- yrSwIndex(1.3.6.1.4.1.1182.2.5.2.1.1)             (not-accessible)
  |       |     ※機器名が一意とは限らないため
  |       +- yrSwProduct(1.3.6.1.4.1.1182.2.5.2.1.2)           (read-only)
  |       |     機器の品番
  |       +- yrSwName(1.3.6.1.4.1.1182.2.5.2.1.3)              (read-only)
  |       |     機器の名前
  |       +- yrSwFirmwareRevision(1.3.6.1.4.1.1182.2.5.2.1.4)  (read-only)
  |       |     機器のファームウェアバージョン
  |       +- yrSwPhysAddress(1.3.6.1.4.1.1182.2.5.2.1.5)       (read-only)
  |       |     機器のMACアドレス
  |       +- yrSwPortNumbar(1.3.6.1.4.1.1182.2.5.2.1.6)        (read-only)
  |       |     機器のポート数
  |       +- yrSwFanStatus(1.3.6.1.4.1.1182.2.5.2.1.7)         (read-only) ※1
  |       |     機器のファンの状態
  |       +- yrSwSupply(1.3.6.1.4.1.1182.2.5.2.1.8)            (read-only)
  |             機器の総給電量
  |       +- yrSwTemp(1.3.6.1.4.1.1182.2.5.2.1.9)              (read-only)
  |             機器の内部温度
  |       +- yrSwPowerFailure(1.3.6.1.4.1.1182.2.5.2.1.10)     (read-only)
  |             機器の電源状態
  |
  +-yrSwLoopDetect(1.3.6.1.4.1.1182.2.5.3) ※2
  |  +- yrSwLoopDetect(1.3.6.1.4.1.1182.2.5.3.0) Trap
  |  |   +- yrSwLoopDetectPort(1.3.6.1.4.1.1182.2.5.3.0.1)
  |  |         ループ検出のトラップ
  |  |
  |  +- yrSwLoopDetectPortTable(1.3.6.1.4.1.1182.2.5.3.1)
  |      +- yrSwLoopDetectPortEntry(1.3.6.1.4.1.1182.2.5.3.1.1) { yrSwIndex, yrSwLoopDetectPortIndex }
  |          +- yrSwLoopDetectPortIndex(1.3.6.1.4.1.1182.2.5.3.1.1.1)   (not-accessible)
  |          +- yrSwLoopDetectPortUse(1.3.6.1.4.1.1182.2.5.3.1.1.2)     (read-only)
  |          |     ループ検出機能の有無の設定
  |          +- yrSwLoopDetectPortStatus(1.3.6.1.4.1.1182.2.5.3.1.1.3)  (read-only)
  |                ポートのループ検出状態
  +-yrSwPoE(1.3.6.1.4.1.1182.2.5.4)
     +- yrSwPoE(1.3.6.1.4.1.1182.2.5.4.0) Trap
     |   +- yrSwPoESupplyPort(1.3.6.1.4.1.1182.2.5.4.0.1)
     |   |     PoE機器への給電開始のトラップ
     |   +- yrSwPoETerminatePort(1.3.6.1.4.1.1182.2.5.4.0.2)
     |         PoE機器への給電停止のトラップ
     |
     +- yrSwPoEPortTable(1.3.6.1.4.1.1182.2.5.4.1)
         +- yrSwPoEPortEntry(1.3.6.1.4.1.1182.2.5.4.1.1) { yrSwIndex, yrSwPoEPortIndex }
             +- yrSwPoEPortIndex(1.3.6.1.4.1.1182.2.5.4.1.1.1)   (not-accessible)
             +- yrSwPoEPortSetting(1.3.6.1.4.1.1182.2.5.4.1.1.2)     (read-only)
             |     給電Classの設定
             +- yrSwPoEPortDetectClass(1.3.6.1.4.1.1182.2.5.4.1.1.3)     (read-only)
             |     接続した機器の給電Classの情報
             +- yrSwPoEPortState(1.3.6.1.4.1.1182.2.5.4.1.1.4)     (read-only)
             |     ポートの給電状態
             +- yrSwPoEPortSupply(1.3.6.1.4.1.1182.2.5.4.1.1.5)  (read-only)
                   ポートの給電電力

  ※1 SWX2200-8Gはファンを搭載しておらず、none(3)を返します。

  ※2 ループが発生している最中はパケットの到達が保証されず、スイッチ制御機能が正常
      に機能しない可能性があります。
      ループの発生を検知したら該当ポートをシャットダウンする機能を用いて、ループ状
      態が回避された時にループの検出パケットを送ることになります。
      従って、yrSwLoopDetect以下を正常に取得するには、スイッチ側に
      switch control function set loopdetect-linkdown linkdown コマンド、あるいは
      switch control function set loopdetect-linkdown linkdown-recovery コマンド
      が設定されている必要があります。

スイッチの指定方法

以下のコマンドでは、対象となるスイッチを指定する必要があります。

スイッチの指定方法には、MACアドレスによる指定とポート番号による指定の2種類があります。

MACアドレスによる指定とポート番号による指定で同じ機器の設定がなされた場合にはMACアドレスの設定が優先されます。

ポート番号による指定方法では、対象となる機器までの経路を、ルーターを基点として途中にある各機器のポート番号を順に記述します。

 +----------+
 | ルーター |
 +----+-----+
      | lan1 port 2
      |
+-----+------+
| スイッチA  |
+-----+------+
      | port 5
      |
+------------+
| スイッチB  |
+-----+------+
      | port 13
      |
+-----+------+
| スイッチC  |
+------------+

上図のような構成でスイッチCを指定する場合の表記は "lan1:2-5-13" となります。

  • 最初にルーターのLANインタフェースを指定します。
  • LANインタフェースがスイッチングハブである場合、ポート番号を指定します。LANインタフェース名とポート番号の間はコロン ":" で区切ります。
  • LANインタフェースがスイッチングハブでない場合、ポート番号の指定は不要です。
  • ルーターと機器Cの間にある各機器のポート番号をルーターに近い方から順に指定します。各ポート番号はハイフン "-" で区切ります。

設定の同期

スイッチがルータの管理下に入る時など、設定の同期を行うことがあります。同期処理中にはスイッチは他の操作を受け付けることができません。
この状態の時にはSNMPマネージャへも正しい応答を返すことができませんので、SNMPマネージャでエラーやタイムアウトが発生することがあります。
設定にもよりますが、同期処理には数十秒~数分の時間を要します。この時間を待った後で再度SNMPマネージャから要求を送ってください。

設定の同期について、詳しくはスイッチの操作の資料を参照してください。

注意事項

ヤマハルーターとヤマハスイッチの間に他社製スイッチを挟み込むなどして、同一経路上にヤマハスイッチが複数接続されている場合は正しく情報を取得できません。

コマンド

スイッチのインタフェースの情報を MIB2 の範囲で表示するか否かの設定

[書式]

snmp yrifswitchdisplayatmib2 MODE
no snmp yrifswitchdisplayatmib2 [MODE]

[設定値]

  • MODE
    • on ... 使用する
    • off ... 使用しない

[説明]

MIB 変数 yrIfSwitchDisplayAtMib2 の値をセットする。この MIB 変数は、スイッチのインタフェースを MIB2 の範囲で表示するかどうかを決定する。

[初期値]

MODE ... on

スイッチの状態によるSNMPトラップの条件の設定

[書式]

snmp trap enable switch SWITCH TRAP [TRAP..]
snmp trap enable switch SWITCH all
snmp trap enable switch SWITCH none
no snmp trap enable switch SWITCH
no snmp trap enable switch default

[設定値]

  • SWITCH ... default、MACアドレス、あるいはポート番号の組
  • TRAP
    • linkup ... リンクアップ
    • linkdown ... リンクダウン
    • fanlock ... ファン異常
    • loopdetect ... ループ検出
    • poesuppply ... PoE機器への給電開始
    • poeterminate ... PoE機器への給電停止
    • oversupply ... 給電能力オーバー
    • overtemp ... 温度異常
    • powerfailure ... 電源異常
  • all ... すべてのトラップを送信することを示すキーワード
  • none ... すべてのトラップを送信しないことを示すキーワード

[説明]

選択されたスイッチの監視状態に応じてトラップを送信する条件を設定する。defaultを指定して設定した場合は、個別のスイッチについて SNMP トラップの条件の設定がない場合の動作を決定する。

all を設定した場合には、すべてのトラップを送信する。none を設定した場合には、すべてのトラップを送信しない。個別にトラップを設定した場合には、設定されたトラップだけが送信される。

リンクアップ・リンクダウントラップは標準MIBのトラップであり、送信するには snmp trap enable snmp コマンドでもトラップ送信が許可されている必要がある。

ループ検出のトラップを送信するにはスイッチ側に switch control function set loopdetect-linkdown linkdown コマンドあるいは switch control function set loopdetect-linkdown linkdown-recovery コマンドが設定されている必要がある。

[初期値]

all

スイッチで共通のSNMPトラップの条件の設定

[書式]

snmp trap enable switch common TRAP [TRAP..]
snmp trap enable switch common all
snmp trap enable switch common none
no snmp trap enable switch common

[設定値]

  • TRAP
    • find-switch ... スイッチが監視下に入った
    • detect-down ... スイッチが監視から外れた
  • all ... すべてのトラップを送信することを示すキーワード
  • none ... すべてのトラップを送信しないことを示すキーワード

[説明]

スイッチの監視状態に応じてトラップを送信する条件を設定する。

[初期値]

all

スイッチへ静的に付与するインタフェース番号の設定

[書式]

snmp ifindex switch static index INDEX SWITCH
no snmp ifindex switch static index INDEX [SWITCH]

[設定値]

  • INDEX ... オブジェクトIDのインデックス(100000000 .. 199999999)
  • SWITCH ... MACアドレス、あるいはポート番号の組

[説明]

スイッチのインタフェースを示すオブジェクトIDのインデックスの先頭を静的に指定する。

[ノート]

オブジェクトIDが重複した場合の動作は保証されない。

静的にオブジェクトIDのインデックスの先頭を指定した場合、スイッチのインタフェースを示すオブジェクトIDのインデックスは動的に割り当てられない。

snmp yrswindex switch static indexコマンドが設定された場合、snmp yrswindex switch static indexコマンドで指定されたスイッチのみインデックスが割り当てられる。

※現在、本コマンドの動作に関して一部不具合があることが確認されています。詳しくは既知の不具合-1を参照してください。

スイッチへ静的に付与するスイッチ番号の設定

[書式]

snmp yrswindex switch static index INDEX SWITCH
no snmp yrswindex switch static index INDEX [SWITCH]

[設定値]

  • INDEX ... オブジェクトIDのインデックス(1 .. 2147483647)
  • SWITCH ... MACアドレス、あるいはポート番号の組

[説明]

スイッチのオブジェクトIDのインデックスを静的に指定する。

[ノート]

静的にオブジェクトIDのインデックスを指定した場合、スイッチのオブジェクトIDのインデックスは動的に割り当てられない。

syslogメッセージ

SNMPトラップに関わる、スイッチからの通知パケットを受けてルーターで表示します。

snmp trap enable switch default none や snmp trap enable switch SWITCH none、snmp trap enable switch common none コマンドを設定していても、これらのsyslogは表示します。

各メッセージは、[SWCTL]のプレフィックスとスイッチを示す識別子に続いて表示します。

レベル 出力メッセージ 内容
INFO find switch スイッチの発見
detect down スイッチの離脱
PORT link up (1000-fdx) ポート番号、リンクアップとリンク速度
PORT link down ポート番号、リンクダウン
fan lock ファン停止
PORT loop detect ポート番号、ループ検出
PORT poe supply ポート番号、給電開始
PORT poe terminate (overcurrent) ポート番号、給電停止と停止理由
oversupply 給電異常
tempover 温度異常
powerfailure 電源異常

関連文書

既知の不具合

  1. スイッチへ静的に付与するインタフェース番号の設定後、設定を削除するとifTableを正常に取得できなくなることがある。
    • snmp ifindex switch static indexコマンドによりスイッチへ静的に付与するインタフェース番号を指定後、同コマンドの設定を削除するとifTableを正常に取得できなくなることがあります。
      ifTableを正常に取得できなくなった場合にはルーターを再起動してください。

ページトップへ戻る