標記定位鍵分隔值 (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