イベントログトラップ動作定義ファイル(Windows限定)
形式
server イベントサーバ名 retry-times リトライ回数 retry-interval リトライ間隔 trap-interval 監視間隔※1 matching-level [0 | 1] filter-check-level [0 | 1] jp1event-send [0 | 1]※1 ext-attr-option 拡張属性名※2 unicode-trap [0 | 1]※2 # フィルター filter ログの種別 条件文1 条件文2 : 条件文n end-filter |
格納先ディレクトリ
インストール先フォルダ\conf\event\
説明
JP1イベントに変換するイベントログの条件や,イベントログの監視間隔などを設定しておくファイルです。
定義の反映時期
イベントログトラップサービスを起動するか,またはjeveltreloadコマンドを実行してイベントログトラップ動作定義ファイルをリロードすると,設定が有効になります。jeveltreloadコマンドの詳細については,「15. コマンド」の「jeveltreload(Windows限定)」を参照してください。
記述内容
イベントログトラップ動作定義ファイル(ntevent.conf)は,登録先イベントサーバ名,リトライ設定,および一つ以上のフィルターで構成されます。行頭に「#」を指定すると,改行するまでコメントになります。
- server イベントサーバ名
-
イベントログをJP1イベントに変換して登録するときの登録先イベントサーバ名を255バイト以内で指定します。イベントサーバ名はダブルクォーテーションマーク(")で囲みます。指定できるイベントサーバは自ホストで稼働しているイベントサーバに限ります。イベントサーバ名を省略した場合,自ホスト名が仮定されます。
- retry-times リトライ回数
-
一時的な通信障害で,イベントサービスへの接続に失敗した場合のリトライ回数を指定します。値は,0〜86,400(回)の10進数で指定します。このパラメーターを省略すると,リトライ処理は行われません。
- retry-interval リトライ間隔
-
一時的な通信障害で,イベントサービスへの接続に失敗した場合のリトライ間隔を指定します。リトライ回数を1以上に設定した場合に有効となります。リトライ間隔は,イベントサービスへの接続に失敗してから次にイベントサービスへの接続を試みるまでの間隔です。イベントサービスへの接続処理に掛かる時間は含みません。値は,1〜600(秒)の10進数で指定します。このパラメーターを省略すると,10秒が仮定されます。
- trap-interval 監視間隔
-
イベントログを監視する間隔を指定します。イベントログトラップは,リアルタイムでイベントログを監視する一方で,一定の間隔でイベントログを監視します。値は,1〜180(秒)の10進数で指定します。このパラメーターを省略すると,10秒が仮定されます。
なお,このパラメーターは,Windows Vista以降の場合は無効となります。指定した場合は,無視されます。
- matching-level [0 | 1]
-
フィルターにmessage属性を指定した場合に,メッセージDLLが正しく設定されてないなどの理由で,イベントログの説明文の読み込みに失敗したときの,イベントログと定義内容の比較レベルを指定します。0を指定すると,比較しないで次のフィルターと比較をします。1を指定すると,比較をします。このパラメーターを省略すると,0が仮定されます。
- filter-check-level [0 | 1]
-
フィルターに不正な(システムに存在しない)ログの種別や不正な正規表現指定がある場合のチェックレベルを指定します。0を指定すると,フィルターに不正なログの種別や不正な正規表現がある場合,該当するフィルターを無効にします。ただし,有効なフィルターが一つでもある場合,サービスの起動またはリロードは成功します。有効なフィルターが一つもない場合,サービスの起動またはリロードは失敗します。1を指定すると,フィルターに不正なログの種別や不正な正規表現が一つでもある場合,サービスの起動またはリロードは失敗します。このパラメーターを省略すると0が仮定されます。
- jp1event-send [0 | 1]
-
イベントログの監視中にイベントログの取得に失敗した場合,JP1イベントを出力するかどうかを指定します。0を指定すると,イベントログの取得に失敗してもJP1イベントを出力しません。1を指定すると,イベントログの取得に失敗した場合,JP1イベント(00003A73)を出力します。イベントログの取得に失敗したというJP1イベントが出力されたあと,再び監視ができる場合があります。この場合もJP1イベント(00003A74)を出力します。このパラメーターを省略すると0が仮定されます。
なお,このパラメーターの指定に関係なく,統合トレースログにメッセージが出力されます。JP1イベントの詳細については,「17.3 JP1イベントの詳細」を参照してください。
なお,このパラメーターは,Windows Vista以降の場合は無効となります。指定した場合は,無視されます。
- ext-attr-option 拡張属性名
-
拡張属性A0〜A6,PLATFORM,PPNAME以外の拡張属性を追加で作成したいときに指定します。このパラメーターは,Windows Vista以降の場合だけ指定できます。
複数の拡張属性を追加で作成するときは,拡張属性名を半角スペースで区切って指定します。拡張属性名の指定順序は任意です。
指定できる拡張属性名を次に示します。
拡張属性名
意味
A7
Windowsログレベル
A8
Windowsログキーワード
A9
Windowsログオペコード
OS_VERSION
Windowsバージョン番号
このパラメーターを省略すると,JP1イベント変換時に上記の拡張属性は作成されません。
上記四つの拡張属性を作成する場合の記述例を次に示します。
ext-attr-option A7 A8 A9 OS_VERSION
- unicode-trap [0 | 1]
-
イベントログトラップのマッチング方式を指定します。
WindowsのイベントログはUnicode形式で出力されますが,JP1/Base自体はUnicodeに対応していません。そのため,イベントログにUnicode固有の環境依存文字がある場合,イベントログトラップの正規表現のミスマッチやイベントログが文字化けしてJP1イベントに登録されることがあります。そのような場合,このパラメーターでイベントログトラップのマッチング方式をUnicode検索に基づくマッチングにすることで,正規表現のミスマッチやイベントログの文字化けが防げます。
0を指定すると,イベントログトラップのマッチング方式が,Windowsのシステムロケールに基づくマッチングになります。イベントログをJP1/Baseが扱える文字コードに変換してマッチングするため,イベントログトラップの正規表現のミスマッチやイベントログが文字化けしてJP1イベントに登録されることがあります。また,JP1イベントを登録する際のコードセットが,既定のコードセットになります。
1を指定すると,イベントログトラップのマッチング方式が,Unicode検索に基づくマッチングになります。イベントログをUnicode形式のまま文字でマッチングすることができ,イベントログが文字化けすることもなくJP1イベントに登録できます。また,JP1イベントを登録する際のコードセットが,UTF-8になります。フィルター条件文の正規表現には,拡張正規表現を適用します。
このパラメーターは,Windows Vista以降の場合だけ指定できます。
このパラメーターを省略すると0が仮定されます。
なお,このパラメーターの指定値は,リロード(jeveltreloadコマンド)では変更されません。指定値を変更した場合は,イベントログトラップサービスを再起動してください。
フィルターの文法
フィルターは,JP1イベントに変換するイベントログの条件を指定した「条件文」の集まりです。フィルター内の条件文はAND条件,フィルター間はOR条件です。複数のフィルターを指定した場合は,フィルターのどれかが成立する条件で成立します。フィルターは必ず一つ以上指定してください。フィルターの記述形式を次の図に示します。
ログの種別
監視対象となるログの種別を指定します。ログの種別とは,Windowsの[イベント ビューア]に表示される各ログの名前のことです。ログの種別は「" "」(ダブルクォーテーションマーク)で囲みます。
- 指定できるログの種別
-
- Windows Vista以降の場合
-
-
Windowsのログ※1※2
"アプリケーション"または"Application"
"セキュリティ"または"Security"
"システム"または"System"
"セットアップ"または"Setup"
-
アプリケーションとサービスのログ
"DNS Server"
"Directory Service"
"ファイル レプリケーション サービス"または"File Replication Service"
"DFS Replication"※3
"Internet Explorer"
"Key Management Service"
"ハードウェア イベント"または"HardwareEvents" ほか※4
-
- Windows XPおよびWindows Server 2003の場合※2
-
"アプリケーション"または"Application"
"セキュリティ"または"Security"
"システム"または"System"
"DNS Server"
"Directory Service"
"ファイル レプリケーション サービス"または"File Replication Service"
"DFS レプリケーション"または"DFS Replication"※5
- 注※1
-
Windowsログの「転送されたイベント」を指定することはできません。
- 注※2
-
アプリケーションやシステムイベントログなどに,リモートマシンで発生したイベントログを転送している場合,転送されたイベントログをJP1イベントに正常に変換できません。リモートマシンで発生したイベントログは,発生元マシン上のイベントログトラップで監視対象としてください。
- 注※3
-
Windows Vista以降の場合,日本語文字は指定できません。
- 注※4
-
フィルターに指定できる「ログの種別」は次の手順で確認してください。条件に当てはまらない場合は,無効な「ログの種別」となります。
-
MS-DOSプロンプト上でwevtutilコマンドを実行し,システムに登録されている「ログの種別」の一覧を確認する。
コマンドの入力例を次に示します。
>wevtutil el
-
1.で確認した「ログの種別」の有効・無効の設定および種別を「ログの種別」ごとに確認する。
コマンドの入力例を次に示します。
>wevtutil gl Application
name: Application
enabled: true
type: Admin
:
次の条件をすべて満たす場合だけ,フィルターに指定できます。
・enabledが「true」である
・typeが「Admin」または「Operational」である
-
- 注※5
-
イベントビューアで表示されるログ名が日本語表示となっている場合だけ「"DFS レプリケーション"」を指定できます。
複数のフィルターに同一のログの種別を指定した場合,それらのフィルターのどれかが成立する場合にフィルターが成立します。
条件文の書式
条件文には,次の表に示す属性名と,対応するイベントビューアのプロパティに表示される項目を指定します。なお,Windows Vista以降の場合,イベントビューアのプロパティの[全般]タブに表示される項目を指定します。
属性名 |
記述する内容 |
---|---|
type |
ログの種類を記述します。 Windows Vista以降の場合,イベントビューアのプロパティで表示されるレベルの内容を「表16-12 typeに指定できるログの種類と対応するJP1イベントの重大度」に従って記述します。 「成功の監査」,「失敗の監査」については,イベントビューアのプロパティの「キーワード」に表示されます。 |
source |
イベントビューアのプロパティで表示されるソースの情報に合わせて記述します。 異なっている場合は,記述を変更してください。 |
category※ |
イベントビューアのプロパティで表示される分類の情報を記述します。 |
id |
イベントビューアのプロパティで表示されるイベントIDの情報を記述します。 |
user |
イベントビューアのプロパティで表示されるユーザー名を記述します。 |
message※ |
イベントビューアのプロパティで表示される説明の情報を記述します。 |
computer |
イベントビューアのプロパティで表示されるコンピュータ名を記述します。 |
level※ |
イベントビューアのプロパティで表示されるレベル名を記述します。 Windows Vista以降の場合だけ指定できます。 |
keyword※ |
イベントビューアのプロパティで表示されるキーワード名を記述します。 Windows Vista以降の場合だけ指定できます。 |
opcode※ |
イベントビューアのプロパティで表示されるオペコード名を記述します。 Windows Vista以降の場合だけ指定できます。 |
記述形式を次に示します。
- type ログの種類1 ログの種類2 ログの種類3・・・
-
ログの種類を指定します。複数の種類を指定した場合は,どれか一つが一致した場合に条件が成立します。変換後のJP1イベントの重大度は,ログの種類によって決まります。指定できるログの種類と,対応するJP1イベントの重大度を次の表に示します。
表16‒12 typeに指定できるログの種類と対応するJP1イベントの重大度 ログの種類
内容
JP1イベントの重大度
Information
情報
Information
Warning
警告
Warning
Error
エラー
Error
Critical※
重大
Critical
Verbose※
詳細
Information
Audit_success
成功の監査
Notice
Audit_failure
失敗の監査
Notice
上記以外のログの種類をtypeに指定することはできません。また,上記以外のログの種類のイベントが変換対象となった場合は,JP1イベントの重大度にはInformationが設定されます。
- type以外の属性名
-
属性名 '正規表現1' '正規表現2' '正規表現3'・・・
type以外の属性名では,条件を正規表現で指定します。正規表現は「' '」で囲んでください。「!」を「' '」の前に付けた場合,除外条件となり,指定した正規表現に一致しないデータを変換対象とします。
正規表現の中に「'」(シングルクォーテーション)を指定する場合は,「'」の前に「\」を追加し,「\'」と指定してください。使用できる正規表現は,OSによって異なります。正規表現の文法の詳細については,「付録F 正規表現の文法」を参照してください。
unicode-trapパラメーターに1を指定している場合は,条件文に拡張した正規表現を指定してください。正規表現の拡張については,「3.4.3 使用する正規表現を拡張する」を参照してください。
なお,イベントログのメッセージに改行文字が含まれる場合,filter文内の指定はAND条件になるため,改行文字を含まないで分割して指定することを推奨します。
運用上,改行文字を正規表現として指定する必要がある場合は,次のことに注意して指定してください。
-
改行文字は,出力するアプリケーションによって異なります。「\n」の場合は「\n」で指定し,「\r\n」の場合は「.\n」と指定してください。なお,改行文字が,どちらのコードか見た目ではわかりません。アプリケーションの開発元に確認するか,実際に動作確認した上で監視を開始してください。
-
注意事項
-
リトライ回数とリトライ間隔の組み合わせによっては,24時間以上のリトライ処理ができますが,リトライ処理が24時間を超えた場合,リトライ処理は打ち切られ,イベントログトラップサービスは停止します。
-
Windowsのメディアセンス機能によってサービスが停止する現象を回避するためには,リトライ機能を使用してください。
-
filter-check-levelの指定が0(または指定なし)で,フィルターが無効となった場合,KAVA3025-Wまたは,KAVA3026-Wのメッセージがイベントログ,統合トレースログ(リロード時は標準エラー出力だけ)に出力されます。ただし,これらのメッセージは10件出力した時点で打ち切りとなります。
-
filter-check-levelの指定が0(または指定なし)で,有効なフィルターが存在しなかった場合,KAVA3027-E(リロード時は,KAVA3028-E)のメッセージがイベントログ,統合トレースログ(リロード時は,イベントログ,統合トレースログ,標準エラー出力)に出力されます。
-
Windows Vista以降の場合だけ有効となる指定を含む動作定義ファイルを,Windows XPおよびWindows Server 2003の環境に配布すると,定義不正となり配布に失敗します。
-
ファイル名「ntevent2.conf」は予約された名称となります。定義ファイルをバックアップする際,この名称を使用しないでください。
-
unicode-trapの指定が1で,コードセットがUTF-8のJP1イベントが登録された場合,そのJP1イベントの転送先ホストのJP1/Baseは,バージョン8以降にしてください。
標準提供のイベントログトラップ動作定義ファイル
標準提供のイベントログトラップ動作定義ファイル(ntevent.conf)では,イベントサービスへ接続できなかった場合に10秒間隔で3回リトライを行います。また,JP1イベントに変換するログの条件として,「システムログ」の「警告」と「エラー」,および「アプリケーションログ」の「警告」と「エラー」がJP1イベントに変換されるように定義されています。標準提供の指定を次に示します。
retry-times 3 retry-interval 10 filter "System" type Warning Error end-filter filter "Application" type Warning Error end-filter
なお,このイベントログトラップ動作定義ファイル(ntevent.conf)および転送設定ファイル(forward)を初期設定で使用した場合,JP1イベントの転送に失敗するとKAJP1037-Eのメッセージがイベントログに出力され,JP1イベントに変換されます。変換されたJP1イベントは再度転送され,転送の失敗が繰り返されます。
この転送の繰り返しを回避するためには,KAJP1037-Eのメッセージをトラップしないように動作定義ファイルの設定を変更してください。設定例を次に示します。
retry-times 3 retry-interval 10 filter "System" type Warning Error end-filter #重要度が[Error][Warning]で,かつソースが[JP1/Base Event] #以外のイベントログをトラップする。 filter "Application" type Warning Error source !'JP1/Base Event' end-filter #重要度が[Error][Warning]で,かつソースが[JP1/Base Event] #で,かつイベントIDが[1037]以外のイベントログをトラップする。 filter "Application" type Warning Error source 'JP1/Base Event' id !'1037' end-filter
フィルターの定義例
定義例1:OR条件とAND条件
- OR条件の定義例
-
ログの種別が「システムログ」で,説明に「TEXT」,「MSG」,または「-W」のどれかを含む。
filter "System" message 'TEXT' 'MSG' '-W' end-filter
条件をスペースまたはタブで区切って指定すると,OR条件になります。
- AND条件の定義例
-
ログの種類が「システムログ」で,説明に「TEXT」,「MSG」,および「-W」をすべて含む。
filter "System" message 'TEXT' message 'MSG' message '-W' end-filter
条件を改行で区切って指定すると,AND条件になります。改行した場合は,属性名から記述してください。
定義例2:複数のフィルターを設定する
ログの種別が「アプリケーションログ」のイベントログのうち,次に示す条件のイベントログをトラップする。
- フィルター1
-
-
種別:アプリケーションログ
-
種類:エラー
-
説明:「-E」および「JP1/Base」を含む。
-
- フィルター2
-
-
種別:アプリケーションログ
-
種類:警告
-
説明:「-W」または「warning」を含む。
#フィルター1 filter "Application" type Error message '-E' message 'JP1/Base' end-filter #フィルター2 filter "Application" type Warning message '-W' 'warning' end-filter
-
定義例3:正規表現を使用する
次に示す条件のイベントログをトラップする。
-
種別:アプリケーションログ
-
種類:エラー
-
イベントID:111
-
説明:「-E」または「MSG」を含み,かつ「TEXT」を含まない。
filter "Application" type Error id '^111$' message '-E' 'MSG' message !'TEXT' end-filter
「111」のイベントIDを条件にしたい場合は,正規表現を使用して,「id '^111$'」と指定してください。「id '111'」と指定すると,「イベントIDに111を含む」という条件になるため,イベントIDが「1112」や「0111」でも条件が成立します。「!」を「' '」の手前に付けた場合は,指定した正規表現に一致しないデータを選択します。正規表現の詳細については,「付録F 正規表現の文法」を参照してください。
定義例4:特定のイベントログだけ変換しない
ログの種別が「システムログ」で,ログの種類が「警告」のイベントログのうち,次に示す条件のイベントログだけトラップしない。
-
ソース:AAA
-
イベントID:111
-
説明:「TEXT」を含む。
#ソースがAAAのイベントログはトラップしない。 filter "System" type Warning source !'AAA' end-filter #ソースがAAA,かつイベントIDが111以外のイベントログをトラップする。 filter "System" type Warning source 'AAA' id !'^111$' end-filter #ソースがAAA,イベントIDが111,かつ説明に「TEXT」を含まないイベントログをトラップする。 filter "System" type Warning source 'AAA' id '^111$' message !'TEXT' end-filter