Q

システムの稼働状況をチェックするため,イベント・ログを定期的に監視しています。しかし,毎日イベント・ログをチェックするのは面倒です。

 特定のソース,イベントIDのイベントがイベント・ログに記録された際に,SNMPトラップを発生させて管理者へ通知するようにできないでしょうか?

A

もちろんサード・パーティ製の管理ツール/監視ツール/運用ツールを使えば,ご希望のような機能は簡単に実現できます。しかし,Windows 2000以降のOSでも,標準の機能を使って同様の仕組みが実現できます。設定にはevntcmd.exeあるいはevntwin.exeを使用します。


△ 図をクリックすると拡大されます
図5●[SNMPService]サービスのプロパティにトラップの送信先を設定する

△ 図をクリックすると拡大されます
図6 ●発生を通知してほしいイベントのソースとID を選んで,監視対象のイベントを設定する

 まず,監視される対象のホスト(SNMPエージェント)側へ,[アプリケーションの追加と削除]からWindowsコンポーネントの[管理とモニタツール]内にある[簡易ネットワーク管理プロトコル(SNMP)]をインストールします。次に,コントロール・パネルで追加した「SNMP Service」というサービスのプロパティを開き,[トラップ]タブでエージェントからのトラップ送信先などを設定します(図5)。

 ここまで設定できたら,コマンド・ラインから「evntcmd.exe」あるいは「evntwin.exe」を起動します。ここでは設定を把握しやすいevntwin.exeの場合について説明します。

 evntwin.exeを起動したら,[構成の種類]を[カスタム]にします(図6)すると,[編集]のボタンがアクティブになるので,適切なソースとイベントIDを選択して[追加]ボタンを押します。利用するOIDなどの確認もこのタイミングで実施します。必要な監視対象イベントを設定し終わったところで[適用]ボタンを押せばすべての設定が確定します。

 以上でSNMPエージェント側の設定は終了です。これで,設定したイベント・ソース,イベントIDのイベントがイベント・ログへ記録されると,SNMPトラップを自動的に送信するようになります。

 SNMP トラップの受信側であるSNMPマネージャ側では,「SNMPTrap Service」サービスと適切なマネージャ・ツールを使って,送られるトラップを受信することができます。

SNMPトラップのテスト送信も可能
 この方法を応用すると,任意のタイミングで簡単にSNMPトラップをテスト送信できます。普段使用していないサービスの起動ログ(例えばTelnetサービスならばソースTlntsvrのID1000)にトラップを設定しておけば,net startやnet stopのコマンドでサービスの起動や停止を繰り返すことで,トラップを何回も送信できます。

小森 博司