FileLog
および WinLog
の両方のコレクタに対応するようにカンマ区切り値 (CSV) パーサを構成できます。
csv
パーサで使用可能なオプションは、fields
および delimiter
です。
カンマ区切り値パーサのオプション
csv パーサの構造については以下の情報を参照してください。
オプション | 説明 |
---|---|
fields |
フィールド名はカンマで区切る必要があります。次に例を示します。
fields = field_name1, field_name2, field_name3, field_name4この定義では名前 field_name1、 field_name2、 field_name3、および field_name4 は抽出したフィールドに連続して割り当てられることを前提にしています。 一部のフィールドが CSV パーサによって省略されてしまう場合は、その名前はリストから省略できます。次に例を示します。 fields = field_name1, , field_name3, field_name4 この場合、パーサはイベントから第 1、第 3、第 4 フィールドのみを抽出し、名前 field_name1、field_name3、および field_name4 をそれぞれ割り当てます。 ログにあるフィールドの完全なリストがフィールド オプションで指定されていない場合、パーサは空のリストを返します。たとえば、ログ ファイルに CSV パーサに |
delimiter |
たとえば、 csv パーサでは、引用符で囲まれた任意の文字のセットが区切り文字としてサポートされます("||" または "asd" など)。ログに使用するフィールド値の区切り文字は、区切り文字のパラメータで定義されたパターンに完全に一致する必要があります。完全に一致しない場合、パーサは失敗します。 スペースやタブなどの特殊文字は、それらの文字の前にエスケープ文字を指定すると、csv パーサの区切り文字として定義することができます(\"、\s、\t)。たとえば、 |
CSV ログ パーサの構成
winlog または filelog ソースのいずれかから収集したログを解析するには、以下の構成を使用します。
[filelog|some_csv_logs] directory=D:\Logs include=*.txt;*.txt.* parser=myparser [parser|myparser] base_parser = csv fields = timestamp,field_name1, field_name2, field_name3 delimiter = ";" field_decoder={"timestamp": "tsp_parser"} [parser|tsp_parser] ; timestamp is a built-in parser base_parser=timestamp ; "format" is an option of timestamp parser format=%Y-%m-%d %H:%M:%S
この構成を使用すると、some_csv_logs ソースから収集されたログ(directory=D:\Logs ディレクトリなど)は myparser によって解析されます。収集されたログにセミコロンで区切られた値が 3 つ含まれていると、解析されたイベントはそれぞれ field_name1、field_name2、および field_name3 という名前を受け取ります。
次の CSV ログを解析するには:
"United States","USA","North America","High income: OECD","Fiscal year end: September 30; reporting period for national accounts data: CY."
[parser|csv_log_parser] base_parser=csv fields=country_name, country_code, region, income_group, special_notesCSV パーサは以下を返します。
country_name=United States country_code=USA region=North America income_group=High income: OECD special_notes=Fiscal year end: September 30; reporting period for national accounts data: CY.