JP1の動作定義ファイル(ntevent.conf)にてWindowsのイベントログのトラップ抑止を行おうと考えており、その作業にあたり、Windowsイベントログの仕様についてご教示頂きたいと考えております。
【環境】
OS:Windows Server 2008 R2
DB:SQL Server 2008 R2, SQL Server 2008
動作定義ファイル(ntevent.conf)の書き方として、トラップしたい条件を記載し、その条件に当てはまらないものは抑止されると言う仕様になっています。
例えば、下記のWindowsイベントログを抑止したい場合、下記の記載をします。
----------------------------------------------------------------------
(例)
ログの名前: System
ソース:TermDD
イベントID:56
レベル:エラー
説明:ターミナル サーバーのセキュリティ層で、プロトコル ストリームにエラーが検出され、クライアントが切断されました。
----------------------------------------------------------------------
この記載の説明ですが「ログの名前」が「System」、「ログのレベル」が「警告またはエラー」、「ソース」が「TermDD」、「イベントID」が「56以外」がトラップされ、「ログの名前」が「System」、「ログのレベル」が「警告またはエラー」、「ソース」が「TermDD」、「イベントID」が「56」であれば抑止されるという内容になります。
--------------------------------
#次の条件のイベントトラップを抑止する
#ログの名前:System
#レベル:「警告」または「エラー」
#イベントID:「56」
filter "System"
type Warning Error
source 'TermDD'
id !’^56$’
end-filter
--------------------------------
もし、「イベントID」が一つについて、「説明」が一つしかない場合は上記でも抑止することができます。
しかし、「イベントID」が一つでも説明が複数ある場合、「イベントID」の特定の説明のみ抑止したい場合、上記ではフィルタできないため、「説明」でもフィルタする必要が出てきます。
例えば ①は抑止したいが②は抑止したくない場合がそれにあたります。
① ログの名前:System
ソース:TermDD
イベントID:56
レベル:エラー
説明:メッセージA
② ログの名前:System
ソース:TermDD
イベントID:56
レベル:エラー
説明:メッセージB
そのため、Microsoft製品が出力するイベントログについて、「イベントID」一つにつき、「説明」は複数ないかどうかをご教示を頂けませんでしょうか。
Microsoft製品以外が出力するイベントログについては、アプリケーションログに出力されますが、それについては「イベントID」一つにつき、「説明」は複数あるないかは、その製品のソフトウェアメーカーに確認する予定です。