イベントログトラップ動作定義ファイル(Windows限定)
- 〈このページの構成〉
形式
server イベントサーバ名 retry-times リトライ回数 retry-interval リトライ間隔 matching-level [0 | 1] filter-check-level [0 | 1] ext-attr-option 拡張属性名 unicode-trap [0 | 1] # フィルター filter ログの種別 [id=イベントID] [trap-name=監視名] 条件文1 条件文2 : 条件文n end-filter |
パラメーターの分類
- 必須パラメーター
-
なし
- 選択パラメーター
-
-
matching-level
-
filter-check-level
-
unicode-trap
-
filter
-
id
-
trap-name
-
格納先ディレクトリ
インストール先フォルダ\conf\event\
説明
JP1イベントに変換するイベントログの条件や,監視失敗時のリトライなどを設定しておくファイルです。
定義の反映時期
イベントログトラップサービスを起動するか,またはjeveltreloadコマンドを実行してイベントログトラップ動作定義ファイルをリロードすると,設定が有効になります。jeveltreloadコマンドの詳細については,「15. コマンド」の「jeveltreload(Windows限定)」を参照してください。
記述内容
イベントログトラップ動作定義ファイル(ntevent.conf)は,登録先イベントサーバ名,リトライ設定,および一つ以上のフィルターで構成されます。行頭に「#」を指定すると,改行するまでコメントになります。
- server イベントサーバ名
-
イベントログをJP1イベントに変換して登録するときの登録先イベントサーバ名を255バイト以内で指定します。イベントサーバ名はダブルクォーテーションマーク(")で囲みます。指定できるイベントサーバは自ホストで稼働しているイベントサーバに限ります。イベントサーバ名を省略した場合,自ホスト名が仮定されます。
- retry-times リトライ回数
-
一時的な通信障害で,イベントサービスへの接続に失敗した場合のリトライ回数を指定します。値は,0〜86,400(回)の10進数で指定します。このパラメーターを省略すると,3回が仮定されます。
- retry-interval リトライ間隔
-
一時的な通信障害で,イベントサービスへの接続に失敗した場合のリトライ間隔を指定します。リトライ回数を1以上に設定した場合に有効となります。リトライ間隔は,イベントサービスへの接続に失敗してから次にイベントサービスへの接続を試みるまでの間隔です。イベントサービスへの接続処理に掛かる時間は含みません。値は,1〜600(秒)の10進数で指定します。このパラメーターを省略すると,10秒が仮定されます。
- matching-level [0 | 1]
-
フィルターにmessage属性を指定した場合に,メッセージDLLが正しく設定されてないなどの理由で,イベントログの説明文の読み込みに失敗したときの,イベントログと定義内容の比較レベルを指定します。0を指定すると,比較しないで次のフィルターと比較をします。1を指定すると,比較をします。このパラメーターを省略すると,0が仮定されます。
- filter-check-level [0 | 1]
-
フィルターに不正な(システムに存在しない)ログの種別や不正な正規表現指定がある場合のチェックレベルを指定します。0を指定すると,フィルターに不正なログの種別や不正な正規表現がある場合,該当するフィルターを無効にします。ただし,有効なフィルターが一つでもある場合,サービスの起動またはリロードは成功します。有効なフィルターが一つもない場合,サービスの起動またはリロードは失敗します。1を指定すると,フィルターに不正なログの種別や不正な正規表現が一つでもある場合,サービスの起動またはリロードは失敗します。このパラメーターを省略すると0が仮定されます。
- ext-attr-option 拡張属性名
-
拡張属性A0〜A6,PLATFORM,PPNAME以外の拡張属性を追加で作成したいときに指定します。
複数の拡張属性を追加で作成するときは,拡張属性名を半角スペースで区切って指定します。拡張属性名の指定順序は任意です。
指定できる拡張属性名を次に示します。
拡張属性名
意味
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になります。フィルター条件文の正規表現には,拡張正規表現を適用します。
このパラメーターを省略すると0が仮定されます。
なお,このパラメーターの指定値は,リロード(jeveltreloadコマンド)では変更されません。指定値を変更した場合は,イベントログトラップサービスを再起動してください。
フィルターの文法
フィルターは,JP1イベントに変換するイベントログの条件を指定した「条件文」の集まりです。フィルター内の条件文はAND条件,フィルター間はOR条件です。複数のフィルターを定義した場合は,ファイル内で上位に定義されているフィルターから順に解析され,どれかのフィルターに該当した時点でフィルターが成立します。フィルターは必ず一つ以上指定してください。フィルターの記述形式を次の図に示します。
|
ログの種別
監視対象となるログの種別を指定します。ログの種別とは,Windowsの[イベント ビューア]に表示される各ログの名前のことです。ログの種別は「" "」(ダブルクォーテーションマーク)で囲みます。なお,複数のフィルターで同一のログ種別を指定できます。
指定できるログ種別を次に示します。
-
Windowsのログ※1※2
-
"アプリケーション"または"Application"
-
"セキュリティ"または"Security"
-
"システム"または"System"
-
"セットアップ"または"Setup"
-
-
アプリケーションとサービスのログ
-
"DNS Server"
-
"Directory Service"
-
"ファイル レプリケーション サービス"または"File Replication Service"
-
"DFS Replication"※3
-
"Internet Explorer"
-
"Key Management Service"
-
"ハードウェア イベント"または"HardwareEvents" ほか※4
-
- 注※1
-
Windowsログの「転送されたイベント」を指定することはできません。
- 注※2
-
アプリケーションやシステムイベントログなどに,リモートマシンで発生したイベントログを転送している場合,転送されたイベントログをJP1イベントに正常に変換できません。リモートマシンで発生したイベントログは,発生元マシン上のイベントログトラップで監視対象としてください。
- 注※3
-
日本語文字は指定できません。
- 注※4
-
フィルターに指定できる「ログの種別」は次の手順で確認してください。条件に当てはまらない場合は,無効な「ログの種別」となります。
-
MS-DOSプロンプト上でwevtutilコマンドを実行し,システムに登録されている「ログの種別」の一覧を確認する。
コマンドの入力例を次に示します。
>wevtutil el
-
1.で確認した「ログの種別」の有効・無効の設定および種別を「ログの種別」ごとに確認する。
コマンドの入力例を次に示します。
>wevtutil gl Application
name: Application
enabled: true
type: Admin
:
次の条件をすべて満たす場合だけ,フィルターに指定できます。
・enabledが「true」である
・typeが「Admin」または「Operational」である
-
[id=イベントID]
イベントサーバにJP1イベントを登録する際のイベントIDを指定します。イベントIDは上位4バイト(基本コード)と下位4バイト(拡張コード)をコロン「:」で区切り,16進数で記述します。A〜Fは大文字で記述してください。なお,下位4バイトまたはコロン以下の下位4バイトは省略できます。この場合,省略値には0を仮定します。また,上位下位とも8桁に満たない場合は前から補われます。ユーザーが指定できる範囲の値,0:0〜1FFF:0および7FFF8000:0〜7FFFFFFF:0を指定してください。なお,拡張コードには0を指定してください。
イベントIDの表記例を次に示します。次に示す3通りの表記は同じ意味になります。
id=0000011A:00000000 id=11A:0 id=11A
「id=」と「イベントID」の間にはスペースまたはタブを入れないでください。また,「ログの種別」,「trap-name=監視名」との間には必ずスペースを入れてください。複数のフィルターで同一のイベントIDを指定できます。このパラメーターを省略すると,イベントID「00003A71」を仮定します。
[trap-name=監視名]
イベントログを変換して登録されたJP1イベントが,どのフィルターに該当したJP1イベントなのかを判別するための監視名を指定します。監視名は30バイト以内で指定してください。使用できる文字は,英数字,ハイフン,およびアンダーラインです。監視名の先頭の文字は,必ず英数字を指定してください。大文字,小文字は区別されます。
「trap-name=」と「監視名」の間にはスペースまたはタブを入れないでください。複数のフィルターで同一の監視名を指定できます。このパラメーターを省略すると,JP1イベント変換時に拡張属性は作成されません。イベントログトラップ動作定義ファイルの初期設定では,このパラメーターの指定はありません。
条件文の書式
条件文には,次の表に示す属性名と,対応するイベントビューアのプロパティの[全般]タブに表示される項目を指定します。
属性名 |
記述する内容 |
---|---|
type |
ログの種類を記述します。 イベントビューアのプロパティで表示されるレベルの内容を「表16-19 typeに指定できるログの種類と対応するJP1イベントの重大度」に従って記述します。 「成功の監査」,「失敗の監査」については,イベントビューアのプロパティの「キーワード」に表示されます。 |
source |
イベントビューアのプロパティで表示されるソースの情報に合わせて記述します。 異なっている場合は,記述を変更してください。 |
category※ |
イベントビューアのプロパティで表示される分類の情報を記述します。 |
id |
イベントビューアのプロパティで表示されるイベントIDの情報を記述します。 |
user |
イベントビューアのプロパティで表示されるユーザー名を記述します。 |
message※ |
イベントビューアのプロパティで表示される説明の情報を記述します。 |
computer |
イベントビューアのプロパティで表示されるコンピュータ名を記述します。 |
level※ |
イベントビューアのプロパティで表示されるレベル名を記述します。 |
keyword※ |
イベントビューアのプロパティで表示されるキーワード名を記述します。 |
opcode※ |
イベントビューアのプロパティで表示されるオペコード名を記述します。 |
注※
-
Windowsのイベントログの仕組みに従って,イベントログの説明文を記載したメッセージDLLが正しく設定された状態でご利用ください。メッセージDLLが正しく設定されていないと,イベントログから説明文を読み込めないため,トラップの対象にできないことがあります。なお,メッセージDLLがないメッセージをトラップしたい場合は,matching-levelパラメーターを1に設定してください。
-
メッセージDLLが正しく設定されていない場合,イベントビューアに「メッセージDLLファイルがない可能性があり,説明が見つからない」という旨の文字列が出力されます。この文字列はイベントビューアが出力している文字列のため,イベントログトラップではトラップできません。
-
メッセージDLLが存在しない状態でJP1イベントに変換した場合,メッセージとして,イベントビューアで「メッセージDLLファイルがない可能性があり,説明が見つからない」という旨の文字列以降に出力される文字列を「"(ダブルクォーテーション)」で囲んで登録します。この文字列が複数存在する場合には,「,(コンマ)」で区切ります。また,カテゴリーDLLが存在しない状態で変換に失敗した場合には,該当する数値を「( )」で囲み,カテゴリーとして登録します。
-
レベル,キーワード,オペコードの変換に失敗した場合も,カテゴリーの変換に失敗した場合と同様に,該当する数値を「( )」で囲み,登録します。
-
イベントビューアに「詳細な情報は,http://go.microsoft.com/fwlink/events.aspの[ヘルプとサポート センター]を参照してください。」という内容の文字列が出力されることがあります。この文字列はイベントビューアが出力している文字列のため,イベントログトラップではトラップできません。
-
イベントログのソース名の先頭にMicrosoft-Windows-が付いていても,イベントビューアには省略されて表示されないことがあります。これはイベントビューアの仕様によるものです。これが原因でイベントビューアに表示されているソース名をsource属性に指定した場合,ソース名が一致しないことがあります。
Microsoft-Windows-が先頭に付いているかどうかは,イベントビューア[全般]タブの「詳細情報」,または[詳細]タブの[System]−[Provider]−[Name]で確認できます。しかし,一部のソース名については,イベントビューアで確認できないソース名もあります。その場合は,イベントログからJP1イベントに変換されたイベントがあれば,登録されたJP1イベントの拡張属性「PRODUCT_NAME」の「/HITACHI/JP1/NTEVENT_LOGTRAP/ソース」のソース部分をソース名として使用してください。または,条件文のソース名を完全一致("^ソース名$")や前方一致("^ソース名")で指定するのではなく,部分一致("ソース名")で指定してください。
記述形式を次に示します。
- type ログの種類1 ログの種類2 ログの種類3・・・
-
ログの種類を指定します。複数の種類を指定した場合は,どれか一つが一致した場合に条件が成立します。変換後のJP1イベントの重大度は,ログの種類によって決まります。指定できるログの種類と,対応するJP1イベントの重大度を次の表に示します。
表16‒19 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.4 使用する正規表現を拡張する」を参照してください。
なお,イベントログのメッセージに改行文字が含まれる場合,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)のメッセージがイベントログ,統合トレースログ(リロード時は,イベントログ,統合トレースログ,標準エラー出力)に出力されます。
-
ファイル名「ntevent2.conf」は予約された名称となります。定義ファイルをバックアップする際,この名称を使用しないでください。
-
unicode-trapの指定が1で,コードセットがUTF-8のJP1イベントが登録された場合,そのJP1イベントの転送先ホストのJP1/Baseは,バージョン8以降にしてください。
-
JP1/Base 11-00以降では,trap-intervalパラメーターおよびjp1event-sendパラメーターの設定が不要になりました。なお,これらのパラメーターを設定していてもJP1/Baseの運用に影響ありません。
-
JP1/Base 11-00以降では,retry-timesパラメーターを省略した場合の仮定値を0から3に変更しました。
標準提供のイベントログトラップ動作定義ファイル
標準提供のイベントログトラップ動作定義ファイル(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
定義例5:JP1イベントのイベントIDと監視名を指定する
フィルター1の条件に合致する場合,イベントIDが「0000111A」でJP1_TRAP_NAME属性に「Action-1」の値が入ったJP1イベントに変換する。
フィルター2の条件に合致する場合,イベントIDが「0000111B」でJP1_TRAP_NAME属性に「Action-2」の値が入ったJP1イベントに変換する。
- フィルター1
-
-
種別:アプリケーションログ
-
種類:エラー
-
- フィルター2
-
-
種別:アプリケーションログ
-
種類:警告
#フィルター1 filter "Application" id=111A trap-name=Action-1 type Error end-filter #フィルター2 filter "Application" id=111B trap-name=Action-2 type Warning end-filter
-