ラベル付きタブ区切り値 (LTSV) 形式は、タブ区切り値 (TSV) のバリアントです。
LTSV ファイル内の各レコードは 1 行で表されています。各フィールドは <TAB>
で区切られていて、ラベルおよび値が含まれています。ラベルおよび値は :
で区切られています。LTSV 形式を使用すると、(TSV 形式と同じように)<TAB>
で各行を分割して解析し、一意のラベルの付いた任意のフィールドを任意の順序で拡張できます。LTSV の定義および形式の詳細については、http://ltsv.org/ を参照してください。
LTSV パーサの構成
LTSV パーサでは、特定の構成オプションを指定する必要がありません。LTSV パーサを使用するには、構成内で組み込み
ltsv
パーサの名前を指定します。
[parser|myltsv] base_parser=ltsvLTSV ファイルは、ABNF 形式の LTSV 本番環境に対応するバイト シーケンスである必要があります。
ltsv = *(record NL) [record] record = [field *(TAB field)] field = label ":" field-value label = 1*lbyte field-value = *fbyte TAB = %x09 NL = [%x0D] %x0A lbyte = %x30-39 / %x41-5A / %x61-7A / "_" / "." / "-" ;; [0-9A-Za-z_.-] fbyte = %x01-08 / %x0B / %x0C / %x0E-FF
host:127.0.0.1<TAB>ident:-<TAB>user:frank<TAB>time:[10/Oct/2000:13:55:36 -0700]<TAB>req:GET /apache_pb.gif HTTP/1.0<TAB>status:200<TAB>size:2326<TAB>referer:http://www.example.com/start.html<TAB>ua:Mozilla/4.08 [en] (Win98; I ;Nav)
LTSV の構成例では、ログの解析によって次のフィールドが返されます。
host=127.0.0.1 ident=- user=frank time=[10/Oct/2000:13:55:36 -0700] req=GET /apache_pb.gif HTTP/1.0 status=200 size=2326 referer=http://www.example.com/start.html ua=Mozilla/4.08 [en] (Win98; I ;Nav)
構成のデバッグ
LTSV パーサに追加のデバッグを行うこともできます。デフォルトでは、LTSV デバッグは無効です。LTSV デバッグを有効にするには、debug=yes
を入力します。
[parser|myltsv] base_parser=ltsv debug=yes
デバッグが有効な場合、LTSV パーサはログからすべての有効なラベルの値を抽出します。LTSV パーサでは、ラベル名を英数字、アンダースコア ('_")、ピリオド ('.')、およびダッシュ ('-') 文字のみで構成する必要があります。ログ内に無効なラベル名が 1 つ以上存在する場合、解析は失敗します。ラベル名が有効な場合でも、エージェントはフィールド名を確認します。無効な名前が存在する場合は、ラベル名を有効なフィールド名に修正する必要があります。
filelog
セクションからの LTSV パーサの構成
LTSV パーサは filelog
セクションから直接構成することもできます。
[filelog|simple_logs] directory=/var/log include=* parser=ltsv