サイトアイコン IT NEWS

Windowsイベントログを利用したSNMPトラップの送信テスト

win-snmptrap-test

前回に引き続き、SNMPトラップが正しく設定されているか確認するために、Windows Serverイベントログを出力した際に、SNMPトラップを送信する手順をご紹介します。
前提として、前回の記事で紹介したSNMPトラップの設定が完了しているものとします。

SNMPトラップを送信する目的

SNMPトラップは、監視システムからのポーリングとは異なり、監視対象機器側で何かしら発生しないと送信されませんので、正しく設定されているかどうかわかりません。
そこで、イベントログを利用してテスト的にSNMPトラップを送信させることが今回の目的です。

管理者

SNMPトラップは何かあれば一方的に送信するだけ。
監視システム側はひたすら待ち受けているだけ。
そこで、擬似的にSNMPトラップを送信させます!

送信テスト用SNMPトラップの設定

WindowsPowerShellを使ってテスト用のイベントログを登録し、そのイベントログが出力された際にSNMPトラップを送信する設定を行います。

テスト用イベントログの登録

PowerShell管理者権限で起動し、以下の[New-EventLog]コマンドを実行してテスト用のイベントログを登録します。

> New-EventLog -LogName Application -Source SNMPTrapTest

上記ではイベントログと書きましたが、イベントログと言うより任意のレベル(以下の例ではApplication)にログに、テスト用のソースを追加する感じ?
オプションの内容は以下の通りです。

  • [New-EventLog]コマンドで新規イベントログを追加する
  • [-LogName]オプションにログの名前(Application、System等)を設定
  • [-Source]オプションにソース名を設定

SNMPトラップの送信設定

次に、上記で登録したイベントログを出力した際に、SNMPトラップを送信する設定を行います。
PowerShellで以下のコマンドを実行し、[イベント トラップ トランスレーター]を起動します。

> evntwin
出典:WindowsからSNMPTRAPを発報しよう – Qiita

左下の[イベントソース]で[Application]フォルダを開き、上記で登録したイベントログの[SNMPTrapTest]を選択します。
次に、右下の[イベント]からイベントIDが1の行を選択して、画面中央の[追加]ボタンを押下します。
右下の[イベント]に一覧が表示されるまで読み込みに時間がかかる場合があります

出典:WindowsからSNMPTRAPを発報しよう – Qiita

[プロパティ]画面が表示されたら、そのまま「OK」ボタンを押下します。

再び[イベント トラップ トランスレーター]画面が戻り、[トラップに変換するイベント]に上記で選択したイベントログが表示されているのを確認し、[適用] → [OK]ボタンを押下せば設定完了です!

SNMPトラップの送信テスト

それでは、設定したイベントログを出力して、SNMPトラップ送信テストを行います。
以前はWindowsコマンドプロンプトからイベントログを出力する方法をご紹介しましたが、今回はせっかくPowerShellの[Write-EventLog]コマンドを使っていますので、PowerShellからイベントログを出力したいと思います。

> Write-EventLog -LogName Application -Source "SNMPTrapTest" -EntryType Error -EventId 1 -Message "TestMessage"

[Write-EventLog]のオプションについては以下の通りです。

オプション説明
-LogNameログの名前(Application、System等)
-Source上記で登録したソース名(例:[SNMPTrapTest])
-EntryTypeレベル(Information、Warning、Critical等)はイベントログの深刻度
-EventId上記で登録したイベントID(例:[1])
-Messageイベントビューアーのメッセージ欄に表示される
Write-EventLogコマンドのオプション

Windowsコマンドプロンプトイベントログを出力させたい場合はこちらから。

後は、監視システム側でSNMPトラップを受信できていればテスト完了です!

以上、お疲れ様でした!

モバイルバージョンを終了