前回に引き続き、SNMPトラップが正しく設定されているか確認するために、Windows Serverでイベントログを出力した際に、SNMPトラップを送信する手順をご紹介します。
前提として、前回の記事で紹介したSNMPトラップの設定が完了しているものとします。
SNMPトラップを送信する目的
SNMPトラップは、監視システムからのポーリングとは異なり、監視対象機器側で何かしら発生しないと送信されませんので、正しく設定されているかどうかわかりません。
そこで、イベントログを利用してテスト的にSNMPトラップを送信させることが今回の目的です。
SNMPトラップは何かあれば一方的に送信するだけ。
監視システム側はひたすら待ち受けているだけ。
そこで、擬似的にSNMPトラップを送信させます!
送信テスト用SNMPトラップの設定
WindowsのPowerShellを使ってテスト用のイベントログを登録し、そのイベントログが出力された際にSNMPトラップを送信する設定を行います。
テスト用イベントログの登録
PowerShellを管理者権限で起動し、以下の[New-EventLog]コマンドを実行してテスト用のイベントログを登録します。
> New-EventLog -LogName Application -Source SNMPTrapTest
上記ではイベントログと書きましたが、イベントログと言うより任意のレベル(以下の例ではApplication)にログに、テスト用のソースを追加する感じ?
オプションの内容は以下の通りです。
- [New-EventLog]コマンドで新規イベントログを追加する
- [-LogName]オプションにログの名前(Application、System等)を設定
- [-Source]オプションにソース名を設定
SNMPトラップの送信設定
次に、上記で登録したイベントログを出力した際に、SNMPトラップを送信する設定を行います。
PowerShellで以下のコマンドを実行し、[イベント トラップ トランスレーター]を起動します。
> evntwin
左下の[イベントソース]で[Application]フォルダを開き、上記で登録したイベントログの[SNMPTrapTest]を選択します。
次に、右下の[イベント]からイベントIDが1の行を選択して、画面中央の[追加]ボタンを押下します。
※右下の[イベント]に一覧が表示されるまで読み込みに時間がかかる場合があります
[プロパティ]画面が表示されたら、そのまま「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 | イベントビューアーのメッセージ欄に表示される |
Windowsのコマンドプロンプトでイベントログを出力させたい場合はこちらから。
後は、監視システム側でSNMPトラップを受信できていればテスト完了です!
以上、お疲れ様でした!
- Original:https://minory.org/win-snmptrap-test.html
- Source:Minory
- Author:管理者