6. ALog EVAを使う
6.1. ALog EVAの概要
本章ではALog EVAのマッピング機能や仕組みについて説明します。
6.1.1. ALog EVAとは
ALog EVAでは以下の3つを組み合わせながら設定します。
1
収集方式を決定する
2
収集するログの形式の決定しフォーマットの定義をする
3
どのようなアクセスログにするか、出力結果を定義する

6.1.2. ログのフォーマットについて
ALog EVAでは、5つのログフォーマットを用意しています。
ログフォーマットの選択肢
説明
プレーンテキスト 各種
あらゆるテキストデータのログを取り扱うことができるALog EVAではサンプルのテキストデータからログのフォーマットとなる正規表現を自動で作成することのできる特別な機能を持つ選択肢1つのデータを複数のフォーマットに分類したい場合も本選択肢を使う 区切り文字(CSV/TSV/DSV) CSV(カンマ区切り)、TSV(タブ区切り)、スペース区切りなど、特定の区切り文字で区切られたテキストデータのログALog EVAでは、ユーザーが任意の区切り文字を指定できる イベントログ(evt/evtxファイル) evtまたはevtxファイル形式のイベントログイベントログからは、標準的な項目およびイベントログ固有のプロパティ値(EventData値)を取得できるSyslog
Unix系OSが出力するシステムの動作やメッセージの記録に関するテキストデータのログALog EVAで処理可能なSyslogはRFC3164に準拠したもので、「日時」、「ホスト名」、「メッセージ」の順に「スペース区切り」で記録されたフォーマットになっているJSON
MySQLやHPE 3PAR File Parsonaなどに見られるJSON形式によるログALog EVAでは、JSONパスとして表記可能な値を取得できる(通常では、キー・値ペアのような単純な形式で、キーを指定すると、それに対応する値が取得できる)
6.1.3. 収集可能なログについて
6.1.3.1. ログの収集方式
ALog EVAでは、4つの収集方式から選択し、ログを収集します。
ログの収集方式
説明
対象サーバのイベントログを収集
マネージャーサーバが、対象サーバからイベントログ形式(evtx)のログを収集する<条件>・対象サーバがWindowsサーバであること(Windows Server 2012以上)・対象サーバの管理者権限を持つアカウントが利用可能であること・対象サーバの管理共有へアクセスできることマネージャーサーバのローカルフォルダーから収集
マネージャーサーバのローカルフォルダーに出力または転送されたログを収集するこの収集方式では、「ログのフォーマットについて」に記載のログフォーマットすべてを収集できる<条件>・マネージャーサーバが指定のローカルフォルダーに対してファイルの読み取り、削除が行えること・対象サーバから、マネージャーサーバの指定フォルダーにログを送信する仕組みがあること対象サーバの共有フォルダーから収集
マネージャーサーバがWindows共有を介して、対象サーバの任意のフォルダーからログを収集するこの収集方式では、「ログのフォーマットについて」に記載のログフォーマットすべてを収集できる<条件>・マネージャーサーバから、対象サーバの指定の共有フォルダーに対してファイルの読み取り、削除が行えること対象サーバにSCP接続して収集
マネージャーサーバが、対象サーバに対してSCP接続を行い、指定したディレクトリからログを収集する<条件>・ログディレクトリが対象サーバ登録時に存在していること注意
以下のファイルはALog EVAでは収集・マッピングできません。
バイナリファイル
6.1.3.2. ログの収集方式とログフォーマットの組み合わせについて
ログ収集方式とログフォーマットには、組み合わせがあります。 また、収集方式によって収集できるログフォーマットが異なります。 それぞれの対応表と、差分収集が可能な条件、注意事項を説明します。
ログの収集方式とログフォーマットの各組み合わせにおける収集可能なログファイルの条件
「ログの収集方式」と「ログフォーマット」を組み合わせた場合の動作仕様について説明します。
ログの収集方式
ログフォーマット
プレーンテキスト区切り文字形式(CSV/TSV/DSV)Syslog形式JSON形式イベントログ形式(evt/evtx)
対象サーバのイベントログを収集
組み合わせ不可
evtxファイル
マネージャーサーバのローカルフォルダーから収集
テキストファイルZIPファイル evt/evtxファイルZIPファイル ※対象サーバの共有フォルダーから収集
テキストファイルZIPファイル evt/evtxファイルZIPファイル ※対象サーバにSCP接続して収集
テキストファイルZIPファイルgzファイルbz2ファイル evtxファイル ※ZIPファイル ※gzファイル ※bz2ファイル ※
注意
※はいかなる条件下においても差分収集することができません。
注意
ZIPファイルはDeflate32形式、書庫内のファイルエントリは1つのみとしてください。 tarファイルには対応していません。
注意
注意
ヒント
ヒント
6.1.3.3. 差分収集の条件
収集方式によって差分収集に必要な条件が異なります。
【対象サーバのイベントログを収集】
収集方式「対象サーバのイベントログを収集」を選択した場合は、常に差分収集します。
【マネージャーサーバのローカルフォルダーから収集 / 対象サーバの共有フォルダーから収集】
収集方式「マネージャーサーバのローカルフォルダーから収集」、「対象サーバの共有フォルダーから収集」を選択した場合に、差分収集するためのログファイルに対する条件を示します。 差分収集は[収集したファイルを削除する]設定のチェックを外した(削除しない)場合に行われます。
ログファイルへの書込みは、末尾への追記のみであり、追記の際、ファイル更新日時が更新されていること
新たに出力されたログレコードは、ログファイルの末尾に追記されており、その際、ファイルの作成日時は維持され、ファイルの更新日時は新しくなっている必要がある
ログのローテートは、ファイルの移動またはリネームによって実施されていること(※ローテート機能がある場合)
ログファイルが一定サイズに到達、または一定期間が経過したなどの条件により、ローテートされる場合、移動またはリネームが実施される必要があるその際、ファイルの作成日時は維持されている必要がある
[収集したファイルを削除する]設定のチェックを外した(削除しない)場合に、ファイルの途中から切り出して収集した際、破損してしまうようなログファイルを対象にしていないこと
尚、上記の前提条件を満たさない場合は、具体的に以下のような問題が発生する可能性があります。
前提条件
前提条件が満たされない場合に発生する問題
1. ログファイルへの書込みは、末尾への追記のみであり、追記の際、ファイル更新日時が更新されていること 追加形式でログが書き込まれることを前提にしているため、差分収集では、ファイルのNバイト目までを収集した場合、次回はN+1バイト目以降を収集する仕様になっている。そのため、リングバッファ形式や最古レコードを上書きする形式などのローテーション方式では、正しくログの差分収集ができなくなる収集したログファイルのファイル名は、収集対象ファイルの名称と更新日時をもとに作成しているため、更新日時を更新せずにログレコードを追記する形式のログの場合、前回収集したログファイルのファイル名と重複してしまい、後続の処理が正常に行えなくなる 2. ログのローテートは、ファイルの移動またはリネームによって実施されていること ログファイルを差分収集する際、前回収集したかどうかの判定の一つとして、ログファイルの作成日時をチェックしている。そのため、ログレコードが追記される際にログファイルの作成日時が変更されたり、ログファイルの作成日時が変更されてしまうローテート方式の場合、そのログファイルは別のものと識別してしまい、ログファイルのすべてのログレコードを収集し、ログレコードの重複が発生してしまう 3. [収集したファイルを削除する]設定のチェックを外した(削除しない)場合に、ファイルの途中から切り出して収集した際、破損してしまうようなログファイルを対象にしていないこと ログファイルの収集では、バイトカットにより差分収集しているため、evtxファイルのように、ファイルにヘッダーとフッターを含むようなログファイルの場合、差分収集により破損した(正しくないフォーマット)ログファイルとなってしまう。ただし、書き込みが行われない状態となったローテート済みのログファイルを収集する場合は、この問題は発生しない
【対象サーバにSCP接続して収集】
収集方式「対象サーバにSCP接続して収集」を選択した場合に、差分収集するためのログファイルに対する条件を示します。 差分収集は[収集したファイルを削除する]設定のチェックを外した(削除しない)場合に行われます。
ログファイルへの書き込みは、末尾への追記方式であること
新たに出力されたログレコードは、ログファイルの末尾に追記されている必要がある
[収集したファイルを削除する]設定のチェックを外した(削除しない)場合に、ファイルの途中から切り出して収集した際、破損してしまうようなログファイルを対象にしていないこと
尚、上記の前提条件を満たさない場合は、具体的に以下のような問題が発生する可能性があります。
前提条件
前提条件が満たされない場合に発生する問題
1. ログファイルへの書込みは、末尾への追記方式であること 追加形式でログが書き込まれることを前提にしているため、差分収集では、ファイルのNバイト目までを収集した場合、次回はN+1バイト目以降を収集する仕様になっている。そのため、リングバッファ形式や最古レコードを上書きする形式などのローテーション方式では、正しくログの差分収集ができなくなる 2. [収集したファイルを削除する]設定のチェックを外した(削除しない)場合に、ファイルの途中から切り出して収集した際、破損してしまうようなログファイルを対象にしていないこと ログファイルの収集では、バイトカットにより差分収集しているため、evtxファイルのように、ファイルにヘッダーとフッターを含むようなログファイルの場合、差分収集により破損した(正しくないフォーマット)ログファイルとなってしまう。ただし、書き込みが行われない状態となったローテート済みのログファイルを収集する場合は、この問題は発生しない
6.1.4. ライセンスについて
6.2. 対象サーバ追加
ALog EVAでログ収集の対象サーバを追加する場合の手順について説明します。 事前に「ALogをインストールする」を参照し、ALogのインストールとライセンス登録を行ってください。
6.2.1. 対象サーバの追加手順
ALog EVAでログを収集する対象サーバの追加は以下の手順で行います。
Webコンソールにログインし、画面上部のメニューから[管理]を選択する
画面左側のメニューから[対象サーバ]をクリックする
[追加]ボタンをクリックする
対象サーバ追加ウィザードが起動するので、[次へ]ボタンをクリックする
「サーバの選択」で、[EVA]を選択し、[次へ]ボタンをクリックする
対象サーバのサーバ名を指定し、[次へ]ボタンをクリックする
ヒント
[新規にログ設定を作成する]にチェックを入れ、[次へ]ボタンをクリックする。なお、テンプレートを使用してマッピングなどを行う場合は[テンプレートを使用する]にチェックを入れる
ログ収集方式には4つの方法があり、「対象サーバのイベントログを収集」、「対象サーバの共有フォルダーから収集」、「マネージャーサーバのローカルフォルダーから収集」、「対象サーバにSCP接続して収集」のいずれかから選択する
[ログ収集方式]で選択した方式により対象サーバ追加の手順が異なるので、該当する収集方式の手順に従い、対象サーバ追加ウィザードを進めていく
[対象サーバのイベントログを収集]
※本方式はWindows Server用です
項目
設定内容
ログ収集方式
[対象サーバのイベントログを収集]を選択する
イベントログ名(チャネル)
取得したいイベントログの[イベント ビューアー] - [プロパティ] から「フルネーム」を確認して設定する
アカウント
対象サーバにおいて管理者権限のあるアカウントを設定する
収集したファイルを削除する
[削除しない/削除する/指定した期間後に削除する(日単位)]から選択する
注意
同一フォルダーに出力された複数のイベントログを同じタイミングで収集した場合、処理がバッティングし、正常に収集できない場合があります。 収集対象とするイベントログが複数ある場合は、出力先のフォルダーを別々にしてください。 同一フォルダーに複数のイベントログを出力しなければならない場合は、「タスクの設定」画面で収集処理の時間が重ならないようにスケジュールを調整してください。
[対象サーバの共有フォルダーから収集]
[マネージャーサーバのローカルフォルダーから収集]
項目
設定内容
ログ収集方式
[マネージャーサーバのローカルフォルダーから収集]を選択する
フォルダー
収集するログが格納されているローカルフォルダーを指定する
ファイル名
収集するファイル名を指定するファイル名指定の文字は、大文字小文字を区別せずに動作するワイルドカードが使用可能 「*(0文字以上)」、「?(0~1文字)」例:「*.csv」 ⇒.csv拡張子を持つファイルのみを収集する収集したファイルを削除する
[削除しない/削除する/指定した期間後に削除する(日単位)]から選択する
注意
本方式ではALogの管理者アカウント(共通アカウント)でログを収集します。マネージャーサーバの管理者アカウントは、収集するログの読み取り、削除が行える権限が必要です。
[対象サーバにSCP接続して収集]
パスワード認証
公開鍵認証
![]()
![]()
項目
設定内容
ログ収集方式
[対象サーバにSCP接続して収集]を選択する
認証方式
[パスワード認証 / 公開鍵認証]を選択する
ユーザー名
SCP接続に使用するユーザーアカウントを指定する
パスワード
[パスワード認証]の場合:指定したユーザーアカウントに紐づくパスワードを設定する[公開鍵認証]の場合:「ログファイル収集時にsudoが必要」ONの場合は指定したユーザーアカウントに紐づくパスワードを設定する秘密鍵ファイルパス
※[公開鍵認証]の場合に設定対象サーバに設定された公開鍵に対する秘密鍵を指定する秘密鍵パスフレーズ
※[公開鍵認証]の場合に設定秘密鍵が暗号化されている場合、パスフレーズを指定するポート番号
ポート番号を指定する
ログディレクトリ
収集するログが格納されているディレクトリを指定する
ファイル名
収集するファイル名を指定するファイル名指定の文字は、大文字小文字を区別せずに動作するワイルドカードが使用可能 「*(0文字以上)」、「?(0~1文字)」例:「*.log」 ⇒.log拡張子を持つファイルのみを収集するログファイル収集にsudoが必要
収集時にスーパーユーザー権限が必要なログファイルを削除する場合はチェックをつける
作業ディレクトリ
ログ収集のために一時的に使用するディレクトリを指定する
収集したファイルを削除する
収集したログを収集後に削除する場合はチェックをつける
コマンドテストを実行する
対象サーバ環境でログ収集タスクが実行可能かテストする時間がかかる場合があるヒント
公開鍵で認証する場合はあらかじめ対象サーバに公開鍵を設定してください。注意
1つの対象サーバに対し、複数のマネージャーサーバから「対象サーバにSCP接続して収集」方式で収集する場合、「作業ディレクトリ」は異なるディレクトリを指定する必要があります。
ログの収集タスクの[スケジュールタイプ]および、[開始時刻]を指定する。スケジュールタイプを「繰り返し」を選択した場合は、タスクスケジュールの[間隔]および[開始日]を指定し、[次へ]ボタンをクリックする
収集するログのファイル形式を選択する。次に[プレビュー]ボタンをクリックする事でプレビュー画面が表示される。その際、入力するログの一部をサンプルデータとして収集する
収集するログのフォーマットに応じて、下表の手順に従い、対象サーバ追加ウィザードを進めていく
ファイル形式
手順
プレーンテキスト
[文字コード]を指定し、[自動フォーマット設定]ボタンをクリックする自動フォーマット設定画面でフォーマット設定を行ってから、[次へ]ボタンをクリックする自動フォーマット設定の詳細は「[自動フォーマット設定]」 を参照CSV/TSV/DSV
ログファイルの[文字コード]および[区切り文字]を指定し、[次へ]ボタンをクリックする入力ファイルにヘッダー情報が含まれる場合は、[入力ファイルにヘッダーを含む]のチェックボックスにチェックを入れるまた、コメント行を含むログファイルの場合は、[コメント行の先頭文字]にコメントアウトで使用される文字を指定し、[次へ]ボタンをクリックするイベントログ
必要に応じて、[イベントID]に取得対象とするイベントIDを指定し、[次へ]ボタンをクリックする(複数指定可)
JSON
[文字コード]を指定し、[次へ]ボタンをクリックする
Syslog
[文字コード]を指定し、[次へ]ボタンをクリックする
![]()
![]()
![]()
![]()
![]()
ヒント
後続の画面においても[プレビュー]ボタンをクリックし、サンプルデータ(入力するログの一部)を収集することはできますが、この段階で収集することで後続処理でのファイルの読み込みが必要なくなる上、内部関数(F())などの処理があらかじめ評価され、入力補助が有効に利用できるようになります。
注意
書き込み(レコードの追記)が継続しているログファイルを収集する場合は、[入力ファイルにヘッダーを含む]にチェックを入れないでください。 このオプションは入力ファイルの1行目をマッピング処理から除外するため、ヘッダー以外のログ行を除外してしまうことがあります。
アクセスログの各項目(「時刻」、「ユーザー」、「サーバ」、「対象」、「操作」、「詳細」)にマッピングする列や文字列などを選択、または個別に定義する。
ALog EVAで提供される関数および、MicrosoftC# の関数の一部を利用できる。設定方法の詳細は、「ログのマッピング」 を参照
![]()
ヒント
ALog EVAでは、以下のnamespaceを持つMicrosoft C#の関数を利用することが可能です。
System
System.Collections.Generic
System.Linq
System.Text.RegularExpressions
テンプレートを選択している場合、「テンプレートのマッピング値を使用する」チェックボックスが表示される。
チェックON: 選択したテンプレートのマッピング値をそのまま使用する。バージョンアップでテンプレートの内容が変更になった場合に対象サーバを編集せずに追随することができる
チェックOFF:テンプレートのマッピング値を変更できる
![]()
[プレビュー]ボタンをクリックし、入力したログが期待したとおりにマッピングされているかを[出力]の内容で確認する。[出力]が期待通りになっている事を確認したら、「マッピング設定 – 出力」画面にある[次へ]ボタンをクリックする
期待どおりにマッピングが出来ていない場合は、「マッピング設定 – 出力」で行ったマッピング設定を修正して、プレビュー画面右下の[再描画]ボタンをクリックし、再度[出力]の内容を確認する
マッピング設定とプレビューを繰り返し、希望するログに調整を行う
![]()
![]()
ヒント
サンプルとするログを変更する場合は、プレビュー画面の[サンプルデータの変更]ボタンをクリックして、取り込むログを指定します。 詳細は「サンプルデータの指定方法」を参照してください。
ヒント
サンプルデータを最新の情報にしたい場合は、[サンプルデータの変更]から「対象サーバからサンプルファイルを収集」をクリックしてください。
注意
マッピングで指定できる式評価外の文字は、文字種によってエスケープシーケンスで入力する必要があります。 詳細は「特別な文字列のエスケープ方法」を参照してください。
「対象サーバ追加ウィザードの完了」の画面が表示されたら、設定内容に誤りがないことを確認し、[完了]ボタンをクリックする
6.2.2. プレビュー画面の見方とサンプルデータの指定方法
6.2.2.1. プレビュー画面の見方
サンプルデータの変更や入力したログを指定されたファイル形式などに従って変数に割り当てた状態を表示する「ログの入力部」
「マッピング設定 – 出力」の定義に従って、出力されるアクセスログのマッピング結果を表示する「アクセスログの出力部」
プレビュー画面
項目
説明
ログの入力部
サンプルデータ
「ログ収集方法の選択」や「マッピング設定 - 入力」の設定に従い、マッピングする元となるログのファイル名とその容量および、収集方式が表示されるまた、[サンプルデータの変更]では、対象サーバから現在あるログを収集する、またはサンプルデータとして入力するログを個別に指定することで、入力するログ(サンプルデータ)を変更できる入力
入力されたログ(サンプルデータ)が変数に割り当てられた状態で表示されるこの入力に表示された情報を参考に「マッピング設定 - 出力」画面でマッピング設定を行っていく(プレビューされるのは最初の100行分)アクセスログの出力部
出力
「マッピング設定 - 出力」画面で行ったマッピング設定に従って、整形した場合に出力されるアクセスログが表示される[詳細項目ごとに表示列を分割]にチェックを入れることで、「詳細」欄の項目を列に分割して表示できるので、アクセスログの各レコードで、どのような詳細項目が出力されるかを確認できるヒント
対象サーバ追加ウィザードのダイアログとプレビューのダイアログは、ブラウザ上で同時に表示して並べることが可能です。 並べながらマッピング設定の調整を行ってください。
6.2.2.2. サンプルデータの指定方法
1. 対象サーバ追加ウィザードの「マッピング設定 – 入力」または、「マッピング設定 – 出力」画面の左下にある[プレビュー]ボタンをクリックする
「プレビュー」画面の右上にある[サンプルデータの変更]ボタンをクリックする
対象サーバから、入力するログファイル(サンプルデータ)を収集する場合は、「対象サーバからサンプルファイルを収集」をクリックする
ログ収集設定で指定した方法によってログファイル(サンプルデータ)を取得する入力するログファイルを任意の格納先から指定する場合は、「サンプルファイルをアップロード」をクリックする注意
[サンプルファイルをアップロード]から指定するファイルは、圧縮されていないものを指定してください。
ヒント
「対象サーバからサンプルファイルを収集」では、収集方式が「対象サーバの共有フォルダーから収集」、「マネージャーサーバのローカルフォルダーから収集」または「対象サーバにSCP接続して収集」を指定していた場合、指定フォルダーおよび指定ファイルにマッチするファイル名で、かつ更新日時が最も新しい1ファイルを収集します。「対象サーバのイベントログを収集」を指定していた場合は、指定したイベントログ名のカレントログをそのまますべて収集します。そのため、最大サイズを大きく設定している場合、サンプルデータの取得に時間を要することがあります。
(「サンプルファイルをアップロード」ボタンをクリックした場合) [参照]ボタンをクリックして、アップロードするログファイルを指定し、[アップロード]ボタンをクリックする
6.2.3. ログ収集の動作確認
Webコンソールの[管理]をクリックし、「ステータス」画面を表示する
「ステータス」画面で、対象サーバの一覧から動作を確認したい対象サーバの[タスク操作]ボタン、[開始]ボタンをクリックする。開始後、収集が完了するか確認する
「ステータス」画面で、管理サーバの一覧から「ログ変換」の[タスク操作]ボタン、[開始]ボタンをクリックし、変換が完了するか確認する
注意
「対象サーバにSCP接続して収集」方式で収集に失敗する場合、必要なコマンドが対象サーバ環境で不足している可能性があります。「サーバ編集」画面の「コマンドテストを実行する」にチェックを入れ[OK]ボタンをクリックすることで、不足しているコマンドがないか確認できます。
6.2.4. 登録した対象サーバの設定変更
すでに登録されている対象サーバの各設定を変更する場合は、以下の手順で行います。
「管理」画面の[対象サーバ]から「対象サーバ」画面を表示し、設定を変更したいサーバをクリックする
「サーバ編集」画面が表示されるので、各設定を適宜変更する。変更後、[プレビュー]ボタンをクリックする
プレビュー画面で意図したとおりにアクセスログが出力されるかを確認する
マッピング設定が確定したら、プレビュー画面を閉じて、「サーバ編集」画面下部にある[OK]ボタンをクリックする
6.3. ログのマッピング
本章ではALog EVAで収集したログの入出力およびマッピングについて説明します。
6.3.1. マッピング設定 – 入力
6.3.1.1. ログフォーマットの選択
ログフォーマット
項目
説明
プレーンテキスト
文字コード
入力されるログファイルの文字コードを指定する
自動フォーマット設定
入力されるサンプルデータから候補となる正規表現を自動生成する- 詳細は「[自動フォーマット設定]」CSV/TSV/DSV
文字コード
入力されるログファイル(テキスト)の文字コードを指定する
区切り文字
各列を区切る文字を指定するカンマ、タブ、スペースなど、ユーザーは任意の文字を指定できるただし、ダブルクォーテーションや連続した同じ文字などは指定できない入力ファイルにヘッダーを含む
この設定を有効にすると、ファイルの最初の行はファイルのヘッダーとして扱われ、マッピング処理の対象から除外される
空のフィールドを除外
この設定を有効にすると、指定した区切り文字で区切られたフィールドの内容が空だった場合にフィールドとして扱われない例: 区切り文字「空白」の際、連続空白を除外したいコメント行の先頭文字
ここで指定した文字が行頭に出現した場合、当該行はコメント行として扱われ、マッピング処理の対象から除外される
イベントログ
イベントID
収集したイベントログのうち、イベントIDを限定したい場合に使用する- 複数のイベントIDを指定したい場合は、カンマ区切りで列挙する- 特定の範囲のイベントIDを指定したい場合は、「数字-数字」のようにする- 処理対象外(除外)とするイベントIDの指定はできない- イベントIDの指定は最大23個Syslog
文字コード
入力されるSyslog形式のログファイルの文字コードを指定する
JSON
文字コード
入力されるJSON形式のログファイルの文字コードを指定する
![]()
![]()
![]()
![]()
![]()
注意
V8.2.0以前に「プレーンテキスト」を選択している対象サーバでは、V8.3.0以降のバージョンアップを行うと編集画面で「プレーンテキスト(旧方式)」と表示されます。 「プレーンテキスト(旧方式)」を使用している場合、「プレーンテキスト」への切り替えを推奨します。
ヒント
6.3.1.2. [自動フォーマット設定]
ポイント
難しい正規表現を自分で考えなくても、サンプルデータをもとにデータのフォーマットを表す正規表現をALogが自動で考える
候補から希望する正規表現を選択するだけでいい
1つのデータに対し、複数のフォーマットを設定できる
![]()
使い方
1
適切なサンプルデータを指定する
2
[時刻フォーマット]タブ で時刻の正規表現を決定する
3
[フォーマット(数字)]タブ で時刻以外の正規表現を決定する
4
プレビューで確認する、必要に応じてフォーマット設定を調整する
ヒント
サンプルデータは先頭から2000行分を表示します。
注意
6.3.1.2.1. [時刻フォーマット]タブ
サンプルデータから時刻フォーマットを抽出するため[自動抽出]ボタンをクリックする
ALogが自動でフォーマットを抽出することを確認
変更したい場合は、「正規表現文字列」欄を手動で変更し[自動抽出]ボタンをクリックする
ヒント
Microsoft C#で使われる一般的な正規表現文字列が使用可能です。
自動判別できる時刻フォーマットは 自動判別可能な時刻フォーマット と同様です。
1つの対象サーバに対し、時刻フォーマットは1つのみ設定できます。
ヒント
6.3.1.2.2. [フォーマット(数字)]タブ
[追加]ボタンをクリックし、フォーマットタブを作成、この時点でALogが自動でフォーマットを抽出することを確認
サンプルデータ内に存在するフォーマットの正規表現が「正規表現文字列の候補一覧」に表示される
このとき自動生成される正規表現は、時刻として指定した箇所の次の文字からとなる
候補一覧をクリックしながら、希望の正規表現を決定する
フォーマット名、正規表現文字列、グループ名を必要に応じて変更し、プレビューで確認する
フォーマット名についてそのログを指し示すわかりやすい名前を付ける例:1つ目のフォーマットに「LOGIN」、2つ目のフォーマットに「LOGOUT」など出力の設定では初期状態で操作欄に入る設定になっている正規表現文字列についてMicrosoft C#で使われる一般的な正規表現を使用して変更することができるグループ名についてグループ名は、次に設定する「マッピング設定 - 出力」において関数として使用される出力側でわかりやすくしたい場合は事前にここで変更する同一フォーマット内で同じグループ名を設定することはできない複数フォーマットでは同じグループ名を設定することができる![]()
ヒント
出力設定画面に遷移した際、初回はフォーマット設定で作成したグループ名は自動で詳細キー、詳細値欄に入力されます。複数フォーマットで同一のグループ名が複数存在していた場合、詳細キーに表示されるのは一つのみです。※戻るボタン等を押して出力設定画面への遷移が二回目以降の場合は詳細キー、詳細値欄への自動入力はされません。
複数のフォーマットを作成したい場合は、この作業を繰り返す
複数のフォーマットを作成する例サンプルデータのログが100行あり、最初に定義したフォーマット1では10行目~30行目のログが抽出できなかった場合、フォーマット2を作成して10行目~30行目のログを抽出する
タブ数の制限はない
同じ行のログで複数のフォーマット設定で抽出された場合、左側のフォーマット設定タブの内容を優先する
6.3.2. マッピング設定 - 出力
6.3.2.1. マッピング処理の概要
6.3.2.2. デコーダ部
ALog EVAの「デコーダ部」では、以下のような処理を行っています。
6.3.2.2.1. 行の分割処理
注意
6.3.2.2.2. 列の分割処理および列の展開
6.3.2.3. マッピング部
ALog EVAの「マッピング部」について説明します。
6.3.2.3.1. アクセスログのフォーマット
No.
項目
説明
1
時刻
ログ出力のもととなる操作や行為の発生した時刻に該当する文字列を割り当てるなお、ALog EVAでは、時刻項目に代入される文字列が自動判別可能な時刻フォーマットまたは、任意に指定した時刻フォーマットに該当するかをチェックし、日付時刻の判断をする2
ユーザー
ログ出力のもととなる操作や行為を行った主体となる情報を割り当てる具体的には、ユーザー名や、クライアントホスト名、装置名などがこれにあたる3
サーバ
ログ出力のもととなる操作や行為が行われた場所を示す情報を割り当てる具体的には、操作や行為が行われ、ログを出力した機器名やサーバホスト名などがこれにあたるこの「サーバ」に入る情報は、検索、レポートなどで検索条件のキーとしてリスト化して使用するため、この欄に入る情報のバリエーションは限定されるよう、考慮することを推奨4
対象
ログ出力のもととなる操作や行為が行われた対象に該当する情報を割り当てる具体的には、操作対象となったファイル名やDBのテーブル、機器名などがこれにあたる5
操作
ログ出力のもととなる操作や行為に該当する情報を割り当てる具体的には、ファイルの読み込みや削除(READ/DELETEなど)やアプリケーションの起動(CREATE)、SYSLOGなど、ログの操作内容を表すこの「操作」に割り当てた文字列は、検索やレポート画面で「操作」欄に反映されるプルダウンやチェックボックスで選択肢として表示され、検索時にログを絞り込むための役割を果たす種類を増やすと検索の利便性を損なうので、種類は最小限になるよう指定する6
詳細
上記のいずれにも該当しないが、ログに記録されている特徴的な情報を割り当てる具体的には、操作や行為に及んだ接続元のIPアドレスや、情報を操作したアプリケーション名などがこれにあたる「詳細」には、「詳細キー」と「詳細値」からなる項目が0個以上含まれるまた、ユーザーが定義した詳細キーは、CSV出力した際、先頭に「アンダーバー(_)」が付加されて表示される
ヒント
固定の文字列の指定は、時刻、ユーザー、サーバ、対象、操作および、詳細の各項目で行えます。
ヒント
注意
詳細項目のキー名の先頭は半角英字、続く文字は半角英数字しか使えません(記号は利用不可)。
注意
「サーバ」および「操作」には、マッピングの際、改行を含む文字列が指定されないようにしてください。
6.3.2.3.2. 「マッピング – 出力」の設定例
ALog EVAの「マッピング – 出力」では、以下のように設定(例)を行います。
No.
項目
設定例の説明
1
時刻
上記では、時刻に相当する文字列は「F(1)」と「F(2)」の2つの列に存在しているこの場合、「F(1)」と「F(2)」をスペースで区切って並べることで、時刻の文字列を作ることができる(本例では、「2016/10/01 21:37:30.025」という文字列になる)文字列の結合は、「{F(1)} {F(2)}」のように中括弧でくくり、並べて記載することで簡単に行える2
ユーザー
上記では、「ユーザー」の列に「firewall」を割り当てるために「{F(4)}」を指定している
3
サーバ
通常、「サーバ」には対象サーバのホスト名などを固定文字列で代入するが、対象サーバのホスト名がログファイル内にないため、ALog EVAが用意する関数の一つである、「{Server()}」を使用し、サーバ名の情報を取得している4
対象
上記では、「対象」の列に「{F(5)}」を指定することで、第5列目の情報をそのまま割り当てている
5
操作
上記では、「操作」の列に固定文字列の「Invalid Access」を指定しているこの場合、ログの内容の如何に関わらず、操作項目には必ず「Invalid Access」が割り当てられる6
詳細
上記では、「詳細」の「詳細キー」に「IPAddr」を指定し、「詳細値」にはALog EVAの用意する関数「F()」とMicrosoft C#の標準的な関数「string.Split()」を組み合わせることで、第5列のIPアドレスの値を抽出し、割り当てている具体的には関数「F()」で文字列を出力し、「F(5).Split(' ')[3]」でスペース区切りの分割をし、4番目の文字列(192.168.0.1)を抽出している(Microsoft C#のSplitは、0からカウントするため、4番目の項目を抽出する場合は、「[3]」とする)
ヒント
注意
日付、時刻が別の列として現れる場合、時刻の自動判別には、日付と時刻の間にスペースが必要です。
注意
注意
6.3.2.4. マッピング設定で使用可能な関数
6.3.2.4.1. ALog EVAが標準で用意している関数
関数
説明
string F(int idx)
分割した列のidx番目(カウントは1から)の文字列を取得する
string[] F(int start, int end)
分割した列のstart番目(カウントは1から)からend番目の文字列の配列を取得するなお、取得した行の最後尾の列を指定する場合は。Endを-1にする(例として、 2番目から最後までの列を取得する場合には、「F(2, -1)」と表記する)DateTime Now()
関数が呼び出されたときの時間をそのまま文字列として出力する
DateTime Now(TimeSpan offset)
関数が呼び出されたときの時間をOffsetで指定した差分を加味して文字列として出力する
string Server()
対象サーバ設定で指定したサーバ名を文字列として出力する
int LineCount()
読み込んだログの行数を数値として出力するまた区切り文字形式(CSV/TSV/DSV)では1レコードが複数行になる場合、1レコードを1行とするstring RawLine()
マッピングで1行に相当する行のすべての文字列を取得する
stirng Extract(string input,string pattern,int groupIdx=1,int matchIdx=-1) 正規表現を使った、特定の文字列から特定のパターンに合致した文字のみを抽出する機能inputには入力となる文字列を、patternには正規表現を指定できるまたpatternの内容に則して、グループとなる位置の指定(指定しなかった場合、最初のグループ)、またパターンが繰り返し適合(マッチ)した場合に、何番目に適合した文字列を抽出するかの指定をする(指定しなかった場合、最後に適合した文字列を抽出する) DateTime ConvSerialToDateTime(string input,bool withLocalTimeGap = true) シリアル値(Unix時間、秒)を日付時間に変換するInputに入力された文字列をUnix時間(秒数)と勘案し、DateTimeに変換する変換の際に、withLocalTimeGapをtrueにすると、入力された時間にALogサーバのUTC時差を付加し、出力するfalseの場合には、与えられた入力値をUTC0のまま出力する DateTime ConvSerialMSToDateTime(string input,bool withLocalTimeGap = true) シリアル値(Unix時間、ミリ秒)を日付時間に変換するInputに入力された文字列をUnix時間(ミリ秒数)と勘案し、DateTimeに変換する変換の際に、withLocalTimeGapをtrueにすると、入力された時間にALogサーバのUTC時差を付加し、出力するfalseの場合には、与えられた入力値をUTC0のまま出力するint FCount()
分割した列の総数を返す
string ReplaceByFile(string input,string filePath,int keyIndex,string formatOutput,ReplaceByFileOptions options = ReplaceByFileOptions.None) 外部ファイルを参照して置換するfilePathに入力されたパスのファイルを使用し、ファイル内のkeyIndexで指定したカラム番号の値とinputに入力された文字列とマッチした行の値(外部ファイル)を使用してformatOutputに入力されたフォーマットに沿って文字列を出力する詳細は「関数「ReplaceByFile」の使用方法」を参照 string KeySearch(string line, string key, stringdelimiter="\t", charescapeChar='\\', stringescapedChars="\"\'\\", stringquotes="\"\'") 与えられた文字列から、指定したKey 項目に対する「値(Value)」を探すline で指定した文字列の中からKey で指定したキー項目を探し、もしquotes で指定されている文字で引用されている場合は、quote で示された文字列を、そうでなければ、delimiter で指定した文字までを抽出し返すもし当該のKey が発見されなかった場合は空文字を返す詳細は「関数「KeySearch」の使用方法」を参照string InputFileName()
収集したファイル名をそのまま出力する
6.3.2.4.2. CSV/TSV/DSV形式のログのみに使用できる関数
CSV/TSV/DSV形式のログに対しては以下の関数も使用できます。
関数
説明
string F(string rowName)
「マッピング-入力」設定で、[入力ファイルにヘッダーを含む]を有効にした場合、関数の引数にヘッダー名を使用することが可能また、プレビュー画面でマッピング用の列名にヘッダー名が表示される[入力ファイルにヘッダーを含む]を無効にして本関数を利用した場合、あるいは存在しないヘッダー名(列名)が指定された場合には、本関数は空文字を返す
6.3.2.4.3. イベントログ形式のログのみに使用できる関数
イベントログ形式のログに対しては以下の関数も使用できます。
関数
説明
string F("TimeCreated")
イベントが作成された日時を取得する
string F("ProviderName")
イベントを発行したイベント プロバイダーの名前を取得する
string F("ProviderID")
このイベントを発行したイベント プロバイダーのグローバル一意識別子 (GUID) を取得する
string F("EventID")
このイベントの識別子を取得する
string F("Version")
イベントのバージョン番号を取得する
string F("Level")
イベントのレベルを取得します。レベルは、イベントの重要度を示す
string F("Task")
アプリケーションまたはイベントを発行するコンポーネントの一部のタスクの識別子を取得する
string F("Opcode")
イベントのオペレーション コードを取得するこのオペコードは、アクティビティまたはイベントが発生したときに、アプリケーションが実行していたアクティビティ内のポイントを識別する数値を定義するstring F("Keywords")
イベントのキーワードのマスクを取得する
string F("EventRecordID")
ログのイベントのイベント レコード識別子を取得する
string F("ProcessID")
イベントを記録したイベント プロバイダーのプロセス ID を取得する
string F("ThreadID")
イベント プロバイダーが実行されているスレッドのスレッド識別子を取得する
string F("Channel")
このイベントが記録される場所、イベントログの名前を取得する
string F("Computer")
このイベントが記録されたコンピューターの名前を取得する
string F(<Name>)
イベントログをXML形式で参照した際の<system>要素内にある上記以外の子要素名を指定することで、その値を取得する
string Description()
イベントビューアーの「全般」タブに表示される情報を取得するイベントログ形式以外でこの関数を使用すると空文字を返すstring DF(int idx)
イベントログ形式のログの詳細項目(EventDataなどに該当する部分)のidx番目を取得するイベントログ形式以外でこの関数を使用すると空文字を返すstring DF()
イベントログ形式のログの詳細(EventDataなどに該当する部分)の全てを取得する。その際、項目の区切り文字は「|」となる。イベントログ形式以外でこの関数を使用すると空文字を返すstring[] DF(int start, int end)
イベントログ形式のログの詳細項目(EventDataなどに該当する部位)のstart番目(カウントは1から)からend番目の文字列の配列を取得する取得した行の最後尾の列を指定する場合は。Endを-1にする(例として、 2番目から最後までの列を取得する場合には、「F(2, -1)」と表記する)イベントログ形式以外でこの関数を使用すると空文字を返すint DFCount()
当該のイベントログ行に含まれる詳細項目の総数を返す
注意
6.3.2.4.4. JSON形式のログのみに使用できる関数
JSON形式のログに対しては以下の関数が使用できます。
関数
説明
string F(<JSONパス書式>)
JSON形式のログでフィールドの内容を取得するには、関数の引数にJSONパス書式で記述して指定する例えば、取得したいオブジェクトのキー名が「Operation」の場合、本関数では「F("Operation")」と書く
以下の記号を用いて特定のオブジェクトの値を取得する事も可能
記号
意味
$
オブジェクトや要素のルート
. or [ ]
子オペレーター
[ ]
配列の指定
例: JSONパスが /store/book[0]/titleの値を取得したい場合 「$.store.book[0].title」
注意
JSON形式では、添え字(数字)によるF()関数の指定が利用できません。
6.3.2.4.5. プレーンテキストのログのみに使用できる関数
プレーンテキストのログに対しては以下の関数が使用できます。
関数
説明
string FormatName()
自動フォーマット設定画面で指定したフォーマット名を使用することが可能
string F(string GroupName)
自動フォーマット設定画面で指定したグループ名を使用することが可能また、プレビュー画面でマッピング用の列名にグループ名が表示される
6.3.2.4.6. 良く使う関数例
(1)複数のフィールドを結合する – Join関数
関数
説明
{string.Join(":", F(3,5))}
F3から開始し、F5までを1つのフィールドに出力する区切り文字は「:」{string.Join("-",DF(5,-1))}
DF5から開始し、DFの最大値までを1つのフィールドに出力する区切り文字は「-」※DFはイベントログのみ指定可能
(2)1つのフィールド内を特定の区切り文字で分離する – Split関数
関数
説明
{F("ProviderName").Split('-')[3]}
「ProviderName」のフィールドを区切り文字「-」ごとに分割し、左から数えて4個目の値を抽出する (左から0、1、2、3と数える)
{F(2).Split(' ')[0]}
F2のフィールドを区切り文字「 」(半角スペース)ごとに分割し、左から数えて0個目の値を抽出する(左から0と数える)
注意
Join関数/Split関数等の関数による文字列操作が行われる場合、変換タスクのパフォーマンスに影響があります。 同環境で上記の関数を使用しない場合と比較し約70%程度となることを確認しています。(設定する関数の複雑さにより変動します。) ログ出力量によりマシンスペックが追加で必要になる場合がありますので構築時に注意してください。
6.3.2.4.7. 関数「ReplaceByFile」の使用方法
ここでは、ユーザー欄のアカウントを氏名に置換する例を用いて使用方法を説明します。
以下の様な置換前と置換後の文字列がセットになったCSVファイルを用意する
(ファイルの配置先は D:\UserData\User.csv とします)
![]()
Webコンソール-対象サーバの追加ウィザード、もしくは編集画面を開き、「マッピング設定-出力」の欄に下記のように設定する
※この例では「ユーザー欄」に入力する。その他の欄はそれぞれ必要なマッピング設定を行う
![]()
コピー用 {ReplaceByFile(F(2), @"D:\UserData\User.csv", 0, "{1} {2}", ReplaceByFileOptions.IgnoreCase)}
引数
記述する内容
1
入力文字列
「マッピング設定-入力」で指定したログデータにおける列を指定する。プレビュー画面を見て確認可能
2
ファイル名
手順1で用意した置換用テーブルとして扱うCSVファイルをフルパスで指定する
3
キーインデックス
手順1で用意したファイルにおける検索対象としたい列の番号を指定する。0からカウントする
4
出力フォーマット
置換後の出力フォーマットを指定する。{列番号} という形で手順1にて用意したファイルの列番号を指定する。0からカウントする
5
オプション値
「IgnoreCase」と指定すると、ログのデータと置換用テーブルにおける文字列の、大文字小文字を比較せずに置換する
【解説】上記のように記述することで、F(2)の文字列がCSVファイルの1列目の値と一致した場合に、「2列目の項目、全角スペース、3列目の項目」をユーザー欄に出力するIgnoreCaseオプションを指定しているため、大文字小文字を無視してF(2)の文字列とCSVの1列目の値を比較するまた、一つもマッチしなかった場合、最初の引数に指定した文字列(この例ではF(2)の文字列)がそのまま出力される
F(2)の値
出力結果
Domain.co.jp\s-sato
佐藤 詩織
domain.co.jp\k-kato
加藤 光一
test.co.jp\t-tanaka
test.co.jp\t-tanaka
設定完了後、運用前に収集タスクと変換タスクを実行し、置換が期待した通りに行われているか確認する
6.3.2.4.8. 関数「KeySearch」の使用方法
「KeySearch」という関数は、入力データで順序に規則性のない「キー=値」のような組み合わせが複数出力されている場合に、「キー 名」を指定することで「キー名」で検索し、紐づく「値」を返すものです。
日付(F1) |
ホスト (F2) |
メッセージ (F3) |
|
---|---|---|---|
1 行目 |
Jan 6 |
10.249.3.13 |
version="1.0" class="high"uid="0" |
2 行目 |
Jan 6 |
10.249.3.13 |
class="high" |
3 行目 |
Jan 6 |
10.249.3.13 |
sshd="15880" version="1.1" class="high"uid="0" |
メッセージ部分は複数の情報が含まれています。キーによっては存在する行と存在しない行があり得ます。 この中から「version の情報があった場合に値を出したい」という要望がある場合、メッセージ部の順番指定では切り出すことができません。 このようなときに 「KeySearch(F(3), "version=")」と指定すると、メッセージ内で「version」を探し、それに紐づく値を返すことができます。
関数返り値 |
|
---|---|
1 行目 |
1.0 |
2 行目 |
(なし) |
3 行目 |
1.1 |
オプション引数 |
初期値 |
解説 |
---|---|---|
delimiter |
「 」(空白)
「\t」(タブ)
|
ここで指定するのは「キーと値の組み合わせ」の間で分割する区切り文字である
通常このパラメタを変更する必要はないが、特殊な文字、例えば「,」などで区切られている場合にはdelimiter="," と指定する
|
escapeChar |
「\」 |
クォートの中でエスケープが必要な際に、エスケープの開始文字を指定する
デフォルト値は「\」キャラクタで、後続に指定する被エスケープ文字(escapedChars)をエスケープするシーケンス開始として認識する
|
escapedChars |
「"」「'」「\」 |
ここで指定される文字は、前述のescapeChar の後続で指定される「エスケープされる文字」を指定する |
quotes |
「"」「'」 |
Key に対する値が発見された場合に、それらの文字が「クォートされている」ときの、クォート文字を指定する |
注意
6.3.2.5. 時刻のマッピング処理
6.3.2.5.1. 自動判別可能な時刻フォーマット
ALog EVAでは、標準で以下の時刻フォーマットを自動で判別できます。
No.
フォーマット
例示
1
yyyy/MM/dd HH:mm:ss.FFFFFFFyyyy/MM/ddTHH:mm:ss.FFFFFFF1999/12/31 23:59:59.123
2
yyyy/MM/dd H:mm:ss.FFFFFFFyyyy/MM/ddTH:mm:ss.FFFFFFF1999/12/31 9:59:59.123
3
yyyy-MM-dd HH:mm:ss.FFFFFFFyyyy-MM-ddTHH:mm:ss.FFFFFFF1999-12-31 23:59:59.123
4
yyyy-MM-dd H:mm:ss.FFFFFFFyyyy-MM-ddTH:mm:ss.FFFFFFF1999-12-31 9:59:59.123
5
yyyy/MM/dd HH:mm:ssyyyy/MM/ddTHH:mm:ss1999/12/31 23:59:59
6
yyyy/MM/dd H:mm:ssyyyy/MM/ddTH:mm:ss1999/12/31 9:59:59
7
yyyy-MM-dd HH:mm:ssyyyy-MM-ddTHH:mm:ss1999-12-31 23:59:59
8
yyyy-MM-dd H:mm:ssyyyy-MM-ddTH:mm:ss1999-12-31 9:59:59
9
yyyyMMdd HHmmssFFFFFFFyyyyMMddTHHmmssFFFFFFF19991231 235959123
10
yyyyMMdd HHmmssyyyyMMddTHHmmss19991231 235959
11
MMM dd HH:mm:ss.FFFFFFF
Dec 02 23:59:59.123
12
MMM d HH:mm:ss.FFFFFFF
Dec 2 23:59:59.123
13
MMM dd HH:mm:ss
Dec 02 23:59:59
14
MMM d HH:mm:ss
Dec 2 23:59:59
15
M d HH:mm:ss
12 2 23:59:59
16
MMMM d HH:mm:ss
December 2 23:59:59
注意
上記フォーマットにおいてss(秒指定)の部分は正のうるう秒を判定する事が可能です。例えば23:59:60となった場合、翌日の00:00:00となります。注意
MMMの指定に関して、ログ内で年にあたる情報が無い場合、変換時の月と、ログに示される月を比較し、自動的に年を補填します。 変換時点で経過した月の場合は今年を、経過していない月の場合は前年を自動的に補填します。
6.3.2.5.2. 独自書式での時刻フォーマット指定の例
以下にユーザーが独自に時刻フォーマットの書式を設定することで読み込める日時書式を例示します。
時刻フォーマットの例
設定値
1999/12/31 23:59:59 +09:00
yyyy/MM/dd HH:mm:ss zzz
Dec 31 1999 23:59:59
MMM dd yyyy HH:mm:ss
6.3.2.6. 除外フィルター
除外フィルターの条件は、Microsoft C#のbool(真偽値)を返す式で定義する必要があります。
6.3.2.6.1. 除外フィルターの指定の例
![]()
注意
除外フィルターの条件式は、マッチした場合に出力対象とするのではなく、出力対象外にするという点にご注意ください。
注意
除外フィルターの条件式がboolを返さない場合、[エラー時のふるまい]の設定の如何に関わらず、falseと評価され、除外されずに処理対象となります。
6.3.2.7. エラー時のふるまい
「エラー時のふるまい」設定には2つの選択肢がありますが、それぞれ以下のように動作します。
設定の選択肢
設定値
エラーを無視し、フィールドを空文字にする
ALog EVAが提供する関数の評価の失敗、ランタイム時のエラーなどが発生した場合、エラーとなった項目だけを無効(空文字とする)にして扱うその際、警告は発せられず、そのまま翻訳処理が継続される警告を発し、エラー行をスキップする
ALog EVAが提供する関数の評価の失敗、ランタイム時のエラーなどがマッピング処理にて発生した場合、ユーザーに警告を促し、当該の「行全体」を無効にして、次の行へマッピング処理を続行する警告はログ変換タスクにおいて処理される1ファイルにつき10回まで通知しますが、それ以上のエラーが発生した場合は、警告を発しなくなる警告が発せられなくなった場合でもエラーとなった行は、無効として扱われる注意
時刻がエラーとなった場合、[エラー時のふるまい]の設定に関わらず、行全体が無効になります。 この仕様は、ALog EVAが「時刻のないログは、アクセスログとして許容しない」という前提に基づいて動作しているためです。
注意
「エラーを無視し、フィールドを空文字にする」を設定した状態で詳細項目の一つがエラーとなった場合は、そのエラーとなった詳細項目だけが無効となり、他の正常な詳細項目はアクセスログに展開されます。
6.3.2.7.1. エラーとなるケース
以下のようなケースでは、マッピング処理においてエラーとなります。
◆サーバ名に「{F(99)}」を指定したが、入力対象となるログの特定の行の列は99列未満だった場合
「警告を発し、エラー行をスキップする」に設定している場合は、警告を発しこの行を無効とします。一方、「エラーを無視し、フィールドを空文字にする」に設定している場合は、サーバ名が空文字になります。(他の項目はエラーが無い限り出力されます)
◆「{F(5)」のように文法ミスをした場合
この場合は、[エラー時のふるまい]の設定に関わらず、ログ変換タスクそのものが失敗します。
6.3.2.8. 空の詳細項目を出力しない
ALog EVAでは、[マッピング設定-出力]の詳細項目(詳細キーと詳細値をセットで定義している部分)に指定した内容で変換処理が行われた結果、詳細項目が「空」になるケースに対し、「空」の場合は詳細キー自身を表示しないようにする設定が可能です。
注意
プレビューの際には、マッピング設定自体の正しさをプレビューするために、この設定項目の設定によらず、詳細値が「空」でもそれに対応した詳細キーが表示されます。
6.3.2.9. 重複する行を1行に マージする
制限事項がありますので、「ログ変換時のマージ処理について」 を確認してください。
6.3.2.10. 特別な文字列のエスケープ方法
「マッピング設定―出力」設定にて「時刻」、「ユーザー」、「サーバ」、「対象」、「操作」、「詳細」には、以下のエスケープシーケンスが利用されます。 (これはMicrosoft C#における補間文字列の仕様と同等です。)
エスケープ
文字列名
\'
単一引用符(シングルクォーテーション)
\"
二重引用符(ダブルクォーテーション)
\\円記号
\0
Null
\a
警告
\b
バックスペース
\f
フォーム フィード
\n
改行
\r
キャリッジ リターン
\t
水平タブ
\U
サロゲート ペアの Unicode エスケープ シーケンス (例:\Unnnnnnnn)
\u
Unicode エスケープ シーケンス (例:\u0041 は "A"に相当)
\v
垂直タブ
\x
Unicode エスケープ シーケンス (可変長である点を除き "\u" に類似)
{{
波括弧(左辺) (このエスケープシーケンスは除外フィルターでは使用しない)
}}
波括弧(右辺) (このエスケープシーケンスは除外フィルターでは使用しない)
6.3.3. EVAテンプレート
6.3.3.1. 主な標準テンプレート
テンプレートの種類
説明
イベントログ(System)
Windows OSが提供するSystemイベントログを収集、変換するためのテンプレートWindows のシステム コンポーネントによって記録されたイベントなどを収集する際に使用するイベントログ(Application)
Windows OSが提供するApplicationイベントログを収集、変換するためのテンプレートアプリケーションまたはプログラムによって記録されたイベントを収集する際に使用するイベントログ (Security)
Windows OSが提供するSecurityイベントログを収集、変換するためのテンプレートリソースの使用に関連するイベントなどを収集する際に使用するALog Syslog Receiver (CSV出力)
ALog Syslog Receiverにより、受信したsyslogデータをCSV出力した場合に利用するテンプレート
Webサーバ (Apache)
Apacheウェブサーバが出力するログを収集、変換するためのテンプレート
DHCPv4サーバ(Windows)
Windows ServerOSにて提供されるDHCP機能が出力するログを収集、変換するためのテンプレート
DBサーバ(PostgreSQL/Symfoware)
PostgreSQL及びSymfoware Server(Openインターフェイス)がCSV形式で出力する監査・システムログファイルを収集、変換するためのテンプレート
HPE 3PAR File Persona
HPE 3PAR File Persona 向けJSON形式のファイル監査ログを収集、変換するためのテンプレート
6.3.3.2. 作成したテンプレートの追加
「管理」画面の[対象サーバ]をクリックして「対象サーバ」画面を表示し、テンプレートとして追加したいマッピング設定が行われているサーバをクリックする
「サーバ編集」画面が表示されるので、左下部の[テンプレートとして保存]ボタンをクリックする
[テンプレート名]に任意の名称を入力し、適宜、[説明]にテンプレートの説明を追加して、[保存]ボタンをクリックする(2つのチェックボックスにはどちらか片方は必ずチェックをつける必要がある)
テンプレートが正常に保存されたことを確認し、[閉じる]ボタンをクリックする
「サーバ編集」画面に戻るので、[キャンセル]ボタンをクリックし、画面を閉じる
6.3.3.3. 作成したテンプレートの削除
「対象サーバの追加手順」の手順「1.~6.」を行い、「ログ設定方法の選択」画面を表示する
[テンプレートを使用する]にチェックを入れ、プルダウンメニューからテンプレートの一覧を表示し、削除したいテンプレートのごみ箱アイコンをクリックする
6.3.3.4. テンプレートのインポート/エクスポート
テンプレートをインポートしたり、エクスポートしたりすることができます。詳細は「設定のインポート/エクスポート」を参照してください。