Windowsマシンが正常に稼働しているかを監視する場合、CPU・メモリ・ディスクといったハードウェアリース以外の監視項目として挙げられるのが、Windowsやアプリケーションの動作状況が記録されている「イベントログ」です。
Windowsの標準機能でイベントログを監視する方法としては、タスクスケジューラを使った方法やPowerShellスクリプトを使った方法が一般的ですが、SNMPトラップを使って監視することもできます。
そこでここでは、Windows 10を例に、イベントログをSNMPで監視する方法を紹介します。
なお、監視サーバー(SNMPマネージャー)環境は、すでに稼働していることを前提とします。
目次
SNMPサービスの追加と設定
まずは、監視対象のWindowsマシンに「SNMPサービス」を追加して、SNMPエージェントとSNMPトラップの初期設定を行います。
SNMPサービスの追加方法やトラップの初期設定方法については、以下の記事をご参照ください。
監視するイベントログの設定
つぎに、監視対象のWindowsマシンで、監視するイベントログを設定します。
ここでは、監視対象のWindowsマシンで、管理者権限でコマンドプロンプトを起動して、以下のコマンドを実行し、テスト用の監視イベントを発生させておきます。
> EVENTCREATE /ID 999 /L system /SO test /T ERROR /D "This is Test Event."
ファイルを指定して実行などに「evntwin」と入力してエンターキーを押すなどして、イベントトラップトランスレーターを起動します。
イベントトラップトランスレーターが起動したら、構成の種類で「カスタム」を選択してから「編集」をクリックします。
画面下部にイベントソースとイベントIDを選択する画面が表示されるので、監視するイベントログのイベントソースとイベントIDを選択して「追加」をクリックします。
ここでは例として、テスト用として生成したイベント(イベントソースが「test」でイベントIDが「999」)のイベントログを指定しています。
「プロパティ」画面が表示されるので、そのまま「OK」をクリックします。
同じ要領で、監視したいイベントログをすべて追加し終わったら「トラップに変換するイベント」の一覧に、追加したイベントがすべて表示されていることを確認し「OK」をクリックします。
イベントトラップトランスレーターの設定を適用するために「サービス」画面で「SNMPサービス」を再起動します。
最後に、監視対象のイベントログが生成されたときに、SNMPマネージャーにSNMPトラップが送信されることを確認します。(イベントログをすぐに生成して動作を確認したいときは、上記に記述しているEVENTCREATEコマンドを使って、監視対象のイベントソースとイベントIDを指定してイベントログを手動で生成します。)
以上で、設定完了です。
あとがき
規模の大きなシステム環境では、専用の監視ツールで監視することが多いですが、小規模な環境でイベントログを監視するツールがない場合は、ここで紹介した方法が役立つでしょう。