[Management] | |||||||||||
NotifEventLogを使ってイベント・ログをトリガーにしてメールを送信する(基本編)
|
|||||||||||
|
解説 |
イベント・ログはWindows OSにとって基本的かつ重要なログ・システムであり、OSはもちろんアプリケーションやハードウェアなどで生じるさまざまな事象が集約・記録される。Windowsシステムで何かトラブルが発生した場合、管理者はまずイベント・ログの内容を確認し、トラブルの痕跡がないか探すことになる。
|
しかし、トラブルが発覚してからイベント・ログを閲覧するのでは、対策が遅れる危険性がある。またイベント・ログには無視してよいイベントも多く記録されるため、トラブルの手がかりのログを見落とす恐れもある。もしイベント・ログにエラーなど重要なイベントが記録されたらすぐにメールで管理者に通知するようにしておけば、迅速かつ見落としも少ない対策ができるだろう。実際、Windows Vista以降のWindows OSには、特定のイベント・ログが記録されるとメールで送信する機能が装備されている(詳細は関連記事を参照)。一方、Windows XPやWindows Server 2003にはこの機能は標準では実装されておらず、外部ツールで実現せざるを得ない。
本稿で紹介する「NotifEventLog」(Kosuke氏作)は、Windows XP/Windows Server 2003でイベント・ログのメール送信を実現するツールの1つだ。一定間隔(デフォルトでは1分)でイベント・ログを監視し、あらかじめ設定しておいた特定条件に合致するイベントが記録されたらメールで通知する。.NET Framework 2.0さえ先にインストールしておけば、インストールも特に難しくなく、イベントの絞り込み(フィルタリング)も単純であれば設定も容易だ。またサービス・プログラムとして実装されているため、ローカル・ログオンなしで運用できる。
- NotifEventLog(With nothing better to do)
本稿ではNotifEventLogで「エラー」「失敗の監査」という種類のイベント・ログをメールで送信可能にするまでの手順を解説する。より複雑なイベント・ログの絞り込み方法については、別のTIPSで今後解説する予定だ。
操作方法 |
NotifEventLogのインストール
|
NotifEventLogを利用するには.NET Framework 2.0(3.0や3.5も可)が必要なので、事前に.NET Framework 2.0とそのセキュリティ・パッチをインストールしておく。その手順については関連記事を参照していただきたい。またインストール済みの.NET Frameworkのバージョンは、TIPS「.NET Frameworkのバージョンを確認する方法」で確認できる。
NotifEventLogをインストールするには、まず次の作者のWebページにある「ダウンロード(バージョン〜)」からたどってインストール・パッケージ(ZIPファイル)をダウンロードする。
- NotifEventLog(With nothing better to do)
ダウンロードしたファイル(NotifEventLog.zip)を解凍したら、プラットフォームごとに次のファイルを実行してセットアップを開始する。
- 32bit(x86)版OS: setup.exe
- 64bit(x64)版OS: NotifEventLogInstall.msi
インストール・ウィザードでは特に難しい選択肢はなく、[次へ]ボタンをクリックしていけばインストールは完了する。必要ならインストール先フォルダなどを変更できる。
インストールが完了すると、イベント・ログの監視とメール送信のためのサービス「NotifEventLog」が自動的に登録される。管理ツールの[サービス]を開いて当該サービスの登録を確認しておこう。
NotifEventLogの設定
インストールが済んだら[スタート]ボタンからプログラム・メニューを開き、[NotifEventLog]−[NotifEventLogUI]をクリックするとNotifEventLogの設定画面が表示される。最初は[メールサーバ設定]にて、イベント・ログを送信するのに用いるSMTPサーバや送信元メール・アドレス、サブジェクト名などを次のように設定する。
SMTPサーバや送信元メール・アドレス、サブジェクト名などの設定画面 | ||||||||||||||||||||||||||||||
この画面ではメール送信先を除くメール関連の設定を行う。メール送信先だけは別のタブで設定する(すぐ後に説明する)。 | ||||||||||||||||||||||||||||||
|
上記画面で一通り設定を済ませたら、[メールテスト送信]ボタンをクリックして、テスト・メールが正しく送信されるか確認しておく(テスト・メールの送信先は、このボタンをクリックして表示されるダイアログで指定できる)。これに失敗する場合、イベント・ログはまったく送信されないので、送信に成功するまで設定を見直す。
次に[送信先設定]タブで送信先メール・アドレスを指定する。複数の送信先が指定可能だが、例えばイベント・ログの種類ごとに別々の送信先を指定する、といったことはできず、どの送信先にも同一の内容が配信される。
送信先メール・アドレスの設定画面 | |||||||||||||||
この画面で設定したメール・アドレスにイベント・ログのメールが送信される。複数のメール・アドレスが指定可能だ。 | |||||||||||||||
|
次に[フィルター]タブで、送信するイベント・ログを絞り込むための条件を設定する。NotifEventLogは、ここに設定された条件に合致するイベントだけを抽出してメールで送信する。条件には、イベント・ログの「種類」「分類(NotifEventLogでは「カテゴリー」)」といった各項目が取り得る値の範囲を指定する。例えば、
- 「種類」が「エラー」に「一致」する、「OR(または)」「種類」が「失敗の監査」に「一致する」
- 「ユーザー」が「Administrator」「以外」で、「AND(かつ)」「イベントID」が「123」に「一致する」
というように複数の条件を連ねることで、対象のイベント・ログを絞り込む。
イベント・ログを絞り込む条件を設定する画面 | |||||||||||||||||||||
この画面では、メールで送信するイベント・ログを絞り込むための条件を設定する。複数の条件が設定可能だ。 | |||||||||||||||||||||
|
さて、残る[配信項目選択]タブでは、送信するメール本文に記載するイベント・ログの内容を選択する。デフォルトでは各イベント・ログの全項目が記載されるが、携帯電話へ送信するために文字数を少なくしたい場合やセキュリティ・ポリシーの都合などでさらしたくない項目がある場合は、メールに記載しない項目を設定できる。
メール本文に記載するイベント・ログの項目を選択する画面 | |||
この画面では、日時や「種類」「コンピュータ」などのイベント・ログの各項目を送信メールに記載するかどうかを選択できる。 | |||
|
NotifEventLogサービスの開始
以上でNotifEventLogの設定は完了である。[OK]ボタンをクリックしてNotifEventLogのダイアログを閉じたら、次にNotifEventLogのサービスを開始する。それには管理ツールにある[サービス]を起動し、サービス一覧から「NotifEventLog」を見つけて右クリックして[開始]を選択するか、あるいは次のコマンドラインを実行する。
net start NotifEventLog |
NotifEventLogの動作確認
これでNotifEventLogはイベント発生を待ち受ける状態になったはずだ。その動作を確認するために、設定した条件に合致するイベントを手動で生成してみよう。それにはコマンド・プロンプト上でeventcreateというコマンドを実行し、メールが自動的に送信されることを確認する。次のコマンドラインを実行すると、「種類」が「エラー」のイベント・ログが記録される。
eventcreate /L SYSTEM /T ERROR /ID 1 /D "テスト用エラー・イベントの生成" |
このコマンドの詳細については、TIPS「イベント・ログに任意の文字列を出力する」を参照していただきたい。
NotifEventLogがイベント・ログの絞り込みとメール送信に成功すると、次のようなメールが送信先メール・アドレスに届くはずだ。
受信したイベント・ログのエラー通知メールの例 | |||
これは筆者が管理している実運用のサーバで、FTPサーバへの不正アクセスが拒否されたときに受信したメールだ。設定した条件を満たすイベントが発生し、NotifEventLogのサービスが正常にメールを送信できれば、このようなメールが受信できるはずである。 | |||
|
以上で、「エラー」または「失敗の監査」のイベントをメールで送信する設定は完了だが、これでも絞り込みが足りず、大量のメールが送信される危険性はある。もともとイベント・ログには、たとえ「エラー」「失敗の監査」であっても無視してもよいものが数多く記録されるからだ。
実はNotifEventLogでは、もっと複雑な条件を設定することで送信メールをさらに絞り込むことが可能だ。その方法は別のTIPSで説明する予定だ。
この記事と関連性の高い別の記事
- イベント・ログをトリガーにしてメールを送信する(基本編)(TIPS)
- イベント・ログ・ファイルの最大サイズを拡大する(TIPS)
- 間違いメールの発信を予防する方法(TIPS)
- WSHコードで発生したエラー情報をイベント・ログに記録する(TIPS)
- コマンド・プロンプトでイベント・ログを表示する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|