4.2.18. トラップ収集[EXTENSION]

SNMPエージェントは任意のSNMPマネージャに対し、障害発生時などに情報を通知する機能を持ちます。この機能をトラップと呼びます。

トラップ収集では、各ノードからSNMPエージェントを通じてトラップを収集することができます。収集したトラップ情報を解析または監視することにより、機器の状況を把握することができます。

参考

  • トラップ監視を行うためには、事前にSNMPマネージャとなるノードをSNMPコレクタとして設定する必要があります。詳細は、 ノードのプロパティ([全般]タブ) を参照して下さい。

  • Windowsで提供されている"SNMP Trap Service"サービスを稼働させている場合、千手のSNMPコレクタとSNMPトラップ受信用ポート番号が競合します。
    "SNMP Trap Service"を停止することで千手のSNMPコレクタがSNMPトラップを受信できるようになります。
    "SNMP Trap Service"を停止することができない場合は、環境変数(SjNET_Trap_WinService)を設定して下さい。"SNMP Trap Service"サービスがSNMPトラップを受信できるようになります。
    設定についての詳細は モニタリングの環境変数の設定方法 を参照して下さい。

  • Windowsで提供されている"SNMP Trap Service"サービスがSNMPトラップを受信する場合、以下の動作となります。
    • ベンダーMIBが利用できません。

    • SNMPエージェントがv2cで送信してもv1と認識される場合があります。(これは"SNMP Trap Service"サービスのAPI(WinSNMP API)の動作によるものです。)

  • SNMPエージェントからトラップを通知するためには、SNMPエージェント(監視対象ノード)側で通知先(SNMPコレクタ)を登録する必要があります。通知先の登録方法は各ベンダーに依存するため、登録方法については該当ノード機種のマニュアル等を参照して下さい。

  • SNMPv3 によるトラップ収集を行うためには、定義ファイルを設定する必要があります。詳細は、セットアップガイド「SNMPv3 トラップ収集の設定」 を参照して下さい。

  • SNMPv3 によるトラップ収集を行うためには、定義ファイルを設定する必要があります。詳細は、セットアップガイド「SNMPv3 トラップ収集の設定」 を参照して下さい。

注釈

MIBファイルの定義内容、および受信トラップの文字コードによって、付加情報がヘキサでログ出力されることがあります。
その場合は、環境変数(SjNET_Trapd_INVALID_HINT)を設定して下さい。設定についての詳細は モニタリングの環境変数の設定方法 を参照して下さい。

4.2.18.1. トラップログファイル

収集したトラップはSNMPコレクタ上の次のログファイルに、テキスト形式で蓄積されます。

  • UNIX/Linux
    • ${SENJUHOME}/log/sjNET_trap.log (SNMPv1 トラップログファイル)

    • ${SENJUHOME}/log/sjNET_trap_v2c.log (SNMPv2c トラップログファイル)

    • ${SENJUHOME}/log/sjNET_trap_v3.log (SNMPv3 トラップログファイル)

  • Windows
    • %SENJUHOME%\log\sjNET_trap.log (SNMPv1 トラップログファイル)

    • %SENJUHOME%\log\sjNET_trap_v2c.log (SNMPv2c トラップログファイル)

このファイルは、1MBを超えると、自動的に切り替えられ、新しいログ情報ファイルが作成されます。ファイルの容量は、千手システムの環境変数"SjNET_Trap_LOGSIZE"で変更できます。 古いログ情報ファイルは、"sjNET_trap.log.1"のファイル名で保存されます。以降、"sjNET_trap.log.2"、"sjNET_trap.log.3・・・"へ保存され、最大"sjNET_trap.log.7"まで7世代分のファイルが保存されます。7世代より前のファイルは順次削除されます。

注釈

  • Windowsで提供されている"SNMP Trap Service"サービスでSNMPトラップを受信している場合、SNMPエージェントがv2cで送信してもv1と認識される場合があります。(これは"SNMP Trap Service"サービスのAPI(WinSNMP API)の動作によるものです。)

  • 環境変数"SjNET_Trap_LOGSIZE"の設定は モニタリングの環境変数の設定方法 を参照してください。

4.2.18.2. トラップ情報

以下に1トラップ情報のレコード形式をSNMPバージョンv1、及びv2c、v3について説明します。レコードの各項目間はTABで区切られています。

【SNMPv1 トラップログファイル レコード形式】

受信時刻 発生元IPアドレス ノード名 トラップコミュニティ名 企業固有番号 一般トラップ番号 企業固有トラップ番号 送信元sysUptime 付加情報

表 4.1 トラップログレコード形式(SNMPv1 トラップ)

No.

項目

説明

1/2

受信時刻

トラップを受信した時点のSNMPコレクタの時刻です。

3

発生元IPアドレス

トラップの発生元ノードのIPアドレスです。

4

ノード名

トラップ発生元のノード名。IPアドレスからSNMPコレクタ側で解決できない場合はIPアドレスが入ります。

5

トラップコミュニティ名

発生元のコミュニティ名。発生元ノードに複数のコミュニティがある場合の識別に使用します。

6

企業固有番号

トラップ発生元機器ベンダーを識別する値です。値を変換できる場合は、変換します。 ※1 ※3

7

一般トラップ番号

トラップ内容を示すコード。0~6までの7種類のタイプがあり、それぞれ以下の内容に沿った文字列が設定されます。
0:"coldStart" 発生元の上位層ネットワーク管理が初期化された。エージェントの設定が変更された可能性があります。
1:"warmStart" 発生元の上位層ネットワーク管理が初期化された。エージェントの設定は変更ありません。
2:"linkDown" 通信リンクに障害が発生した。
3:"linkUp" 通信リンクが回復した。
4:"authenticationFailure" マネージャから不正なメッセージ(コミュニティ名不正)を受信した。
5:"egpNeithborLoss" EGPピアー(ゲートウェイ)のノードがダウンした。
6:"enterpriseSpecific" 企業固有トラップが発生した。内容は企業番号と企業固有トラップ番号を参照する。

8

企業固有トラップ番号

ベンダー固有のトラップ番号。内容はベンダーによって異なるため、企業固有番号と合わせて判断する必要があります。この値は数値で表され、一般トラップ番号に"enterpriseSpecific"が設定されている場合に有効です。

9

送信元sysUptime

SNMPエージェントが最後に初期化されてからトラップが発生するまでの経過時間です。格納される数値は1/100秒単位です。

10

付加情報

トラップに付加される詳細情報です。内容は機器の種類や状況によって異なります(付加されない場合もあります)。 ※1 ※2 ※3

※1  Windowsで提供されている"SNMP Trap Service"サービスを稼働させてトラップ収集を行っている場合、OIDの先頭に「.」がついて出力されている場合や、OIDグループ名称が付加されて出力されている場合があります。

例:「.31.1.1.1.6.1」「system.sysDescr.0」

※2  Windowsで提供されている"SNMP Trap Service"サービスを稼働させてトラップ収集を行っている場合、以下の付加情報が必ず出力されます。値は送信元IPアドレスです。

.iso.org.dod.internet.experimental.1057.1 = 192.169.128.120

※3 例えば、MIBファイルに

   nri OBJECT IDENTIFIER ::= { enterprises 14887 }

上記のような定義が存在していた場合に、「1.3.6.1.4.1.14887」という値がきたら『nri』と変換されます。

上記のような定義が存在しない場合は、末尾の「14887」を除いたOID「1.3.6.1.4.1」の部分を『enterprises』と変換し、『enterprises.14887』と変換されます。

これは、OID「1.3.6.1.4.1」に該当する定義を行っているMIBファイルがSenju DevOperation Conductorに予め入っているためです。

Senju DevOperation Conductorで予め用意されているMIBモジュールに関しては、 拡張MIBに関する注意事項 を参照して下さい。

各ベンダーより提供されるMIBファイルを追加する場合は、 トラップ監視/ベンダーMIB追加について を参照して下さい。

【SNMPv2c トラップログファイル レコード形式】

受信時刻 発生元IPアドレス ノード名 トラップコミュニティ名 トラップ-OID 変換トラップ名 送信元sysUptime 付加情報

表 4.2 トラップログレコード形式(SNMPv2c トラップ)

No.

項目

説明

1/2

受信時刻

トラップを受信した時点のSNMPコレクタの時刻です。

3

発生元IPアドレス

トラップの発生元ノードのIPアドレスです。

4

ノード名

トラップ発生元のノード名。IPアドレスからSNMPコレクタ側で解決できない場合はIPアドレスが入ります。

5

トラップコミュニティ名

送信元のコミュニティ名。送信元ノードに複数のコミュニティがある場合の識別に使用します。

6

トラップ-OID

受信したトラップのOIDです。(例:"1.3.6.1.6.3.1.1.5.1")

7

変換トラップ番号

トラップ内容を示すコード。受信したトラップのOID より変換します。(例:"1.3.6.1.6.3.1.1.5.1"は" coldStart"と変換されます。)

8

送信元sysUptime

SNMPエージェントが最後に初期化されてからトラップが発生するまでの経過時間です。格納される数値は1/100秒単位です。

9

付加情報

トラップに付加される詳細情報です。内容は機器の種類や状況によって異なります(付加されない場合もあります)。 ※1 ※2

※1  Windowsで提供されている"SNMP Trap Service"サービスを稼働させてトラップ収集を行っている場合、OIDの先頭に「.」がついて出力されている場合や、OIDグループ名称が付加されて出力されている場合があります。

例:「.31.1.1.1.6.1」「system.sysDescr.0」

※2 例えば、MIBファイルに

   nri OBJECT IDENTIFIER ::= { enterprises 14887 }

上記のような定義が存在していた場合に、「1.3.6.1.4.1.14887」という値がきたら『nri』と変換されます。

上記のような定義が存在しない場合は、末尾の「14887」を除いたOID「1.3.6.1.4.1」の部分を『enterprises』と変換し、『enterprises.14887』と変換されます。

これは、OID「1.3.6.1.4.1」に該当する定義を行っているMIBファイルがSenju DevOperation Conductorに予め入っているためです。

Senju OperationConductorで予め用意されているMIBモジュールに関しては、 拡張MIBに関する注意事項 を参照して下さい。

各ベンダーより提供されるMIBファイルを追加する場合は、 トラップ監視/ベンダーMIB追加について を参照して下さい。

【SNMPv3 トラップログファイル レコード形式】

受信時刻 発生元IPアドレス ノード名 トラップコミュニティ名 トラップ-OID 変換トラップ名 送信元sysUptime 付加情報

表 4.3 トラップログレコード形式(SNMPv3 トラップ)

No.

項目

説明

1/2

受信時刻

トラップを受信した時点のSNMPコレクタの時刻です。

3

発生元IPアドレス

トラップの発生元ノードのIPアドレスです。

4

ノード名

トラップ発生元のノード名。IPアドレスからSNMPコレクタ側で解決できない場合はIPアドレスが入ります。

5

トラップコミュニティ名

SNMPv3 の場合は出力されません。

6

トラップ-OID

受信したトラップのOIDです。(例:"1.3.6.1.6.3.1.1.5.1")

7

変換トラップ番号

トラップ内容を示すコード。受信したトラップのOID より変換します。(例:"1.3.6.1.6.3.1.1.5.1"は" coldStart"と変換されます。)

8

送信元sysUptime

SNMPエージェントが最後に初期化されてからトラップが発生するまでの経過時間です。格納される数値は1/100秒単位です。

9

付加情報

トラップに付加される詳細情報です。内容は機器の種類や状況によって異なります(付加されない場合もあります)。 ※1

※1 例えば、MIBファイルに

   nri OBJECT IDENTIFIER ::= { enterprises 14887 }

上記のような定義が存在していた場合に、「1.3.6.1.4.1.14887」という値がきたら『nri』と変換されます。

上記のような定義が存在しない場合は、末尾の「14887」を除いたOID「1.3.6.1.4.1」の部分を『enterprises』と変換し、『enterprises.14887』と変換されます。

これは、OID「1.3.6.1.4.1」に該当する定義を行っているMIBファイルがSenju DevOperation Conductorに予め入っているためです。

Senju OperationConductorで予め用意されているMIBモジュールに関しては、 拡張MIBに関する注意事項 を参照して下さい。

各ベンダーより提供されるMIBファイルを追加する場合は、 トラップ監視/ベンダーMIB追加について を参照して下さい。

4.2.18.3. トラップ監視運用例

以下にSenju DevOperation Conductorのテキストログ監視を利用して、対象機器のトラップ発生を監視する運用例を示します。この例では、通信リンクの切断及び回復の発生時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。

<ログフィルタの登録>

千手ブラウザのツリービューで<ドメイン>→"フィルタ"→"ログフィルタ"を選択します。ログフィルタのエンティティでリストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。ログフィルタのプロパティが表示されます。

../../_images/image4871.jpg

図 4.60 ログフィルタのプロパティ

ログフィルタ名などの各項目を入力し[OK]ボタンを押下します。これにより、ログフィルタの登録が完了します。

<フィルタ監視項目の追加>

千手ブラウザのツリービューの<ドメイン>→"フィルタ"→"ログフィルタ"→<ログフィルタ>でフィルタ監視項目を登録するログフィルタを選択します。リストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。フィルタ監視項目のプロパティが表示されますので、通信リンクの切断と復旧の発生を監視するためフィールド全体を文字列"linkDown"と"linkUp"で監視設定し、通知したいメッセージIDを登録します。以下はログフィルタの登録後のフィルタ監視項目です。

../../_images/image4881.jpg

図 4.61 ログフィルタ登録例

<SNMPコレクタの設定>

トラップファイルのテキストログ監視を行うには、千手ブラウザのツリービューで、<ドメイン>→"ノードグループ"→"全体"を選択します。そして、リストビューからSNMPトラップ受信を行うように設定したノードを選択し、SNMPトラップ受信を行うように設定します。詳細は、 ノードのプロパティ([全般]タブ) を参照して下さい。

<テキストログ監視の設定>

トラップファイルのテキストログ監視を行うには、千手ブラウザのツリービューで、<ドメイン>→"ノードグループ"→"全体"を選択します。そして、リストビューからSNMPコレクタとして設定したノードを選択し、マウスの右ボタンをクリックしてコンテキストメニューを表示し、[プロパティ]メニューを選択します。ノードのプロパティウィンドウが表示されますので、[ログ監視]タブを選択します。

ノードのプロパティ([ログ監視]タブ)にて、監視対象のパス名とファイル名にトラップログファイルを指定し、監視方法に先に作成したログフィルタを指定します。

以下はログ監視を登録した後の、ノードのプロパティ([ログ監視]タブ)です。

../../_images/image4891.jpg

図 4.62 ログ監視登録例

ログ監視を登録した後に、登録したノードに対して[反映(監視属性)]を実行することにより、ログファイルの監視を開始します。

以上で、ログ監視を用いたトラップ監視の設定を終了します。この設定により監視対象機器にトラップが発生した場合、メッセージモニタに通知されます。

注釈

  • 管理対象ノードにおいて千手が起動していない状態で、[反映(監視属性)]を行うと失敗します。

  • トラップログファイルに収集された情報がfloatまたdoubleタイプの場合、LinuxとWindowsでのみサポートします。

  • 監視対象ログファイルのプロパティでは、監視対象ファイルの文字コードを指定できますが、千手のトラップログファイル(sjNET_trap.log,sjNET_trap_v2c.log)をログ監視するときは、以下に注意してください。
    • トラップログファイルに含まれるマルチバイト文字の文字コードがUTF-8で、SNMPコレクタが稼働している千手エージェントの文字コードがShift JISの場合、環境変数(SjNET_Trapd_INVALID_HINT)を設定し、監視対象ログの文字コードを”UTF-8”に設定することによりUTF-8のトラップログを監視できます。
      環境変数(SjNET_Trapd_INVALID_HINT)の設定についての詳細は モニタリングの環境変数の設定方法 を参照してください。
    • 上記以外の場合、監視対象ファイルの文字コードは指定しないでください。

  • 千手のトラップログファイル(sjNET_trap.log,sjNET_trap_v2c.log)の監視設定する際、以下は指定しないでください。(チェックされている場合は、外してください。)
    • 監視対象ファイル名での正規表現を使用