带标签的制表符分隔值 (LTSV) 格式是制表符分隔值 (TSV) 的变体。
LTSV 文件中的每个记录单独作为一行表示。每个字段以 <TAB>
分隔,具有一个标签和一个值。标签和值通过 :
分隔。借助 LTSV 格式,您可以通过用 <TAB>
拆分行(与 TSV 格式一样)并通过唯一标记扩展任意字段(无特定顺序)来分析每个行。有关 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 分析程序要求标签名称仅包含字母数字字符、下划线(“_”)、点(“.”)以及短划线(“-”)字符。如果日志中存在至少一个无效标签名称,其解析将失败。即使标签名称有效,代理也将检查字段名称。如果存在无效名称,标签名称应更正为有效的字段名称。
通过 filelog
部分配置 LTSV 分析程序
您还可以直接通过 filelog
部分配置 LTSV 分析程序。
[filelog|simple_logs] directory=/var/log include=* parser=ltsv