Das LTSV-Format („Labeled Tab-Separated Values = bezeichnete tabulatorgetrennte Werte) ist eine Variante der tabulatorgetrennten Werte (TSV).

Jeder Datensatz einer LTSV-Datei wird in einer Zeile dargestellt. Die Felder werden durch <TAB> getrennt und jedes Feld verfügt über eine Bezeichnung und einen Wert. Die Bezeichnung und der Wert werden durch : getrennt. Mithilfe des LTSV-Formats können Sie jede Zeile analysieren, indem Sie die Zeile durch <TAB> teilen (wie beim TSV-Format) und Felder mit eindeutigen Bezeichnungen in beliebiger Reihenfolge erweitern. Weitere Informationen über die LTSV-Definition und das LTSV-Format finden Sie unter http://ltsv.org/.

Konfiguration des LTSV-Parsers

Die LTSV-Parser erfordert keine spezifischen Konfigurationsoptionen. Geben Sie zum Verwenden des LTSV-Parsers den integrierten ltsv-Parsernamen in der Konfiguration an.
[parser|myltsv]
base_parser=ltsv
Eine LTSV-Datei muss eine Byte-Sequenz aufweisen, die mit der LTSV-Produktion im ABNF-Format identisch ist.
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)
Bei der Beispiel-LTSV-Konfiguration sollten beim Analysieren des Protokolls die folgenden Felder zurückgegeben werden:
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)

Debug-Konfiguration

Zusätzliches Debugging steht auch für den LTSV-Parser zur Verfügung. Das LTSV-Debugging ist standardmäßig deaktiviert. Um das LTSV-Debugging zu aktivieren, geben Sie debug=yes ein.

[parser|myltsv]
base_parser=ltsv
debug=yes

Wenn das Debugging aktiviert ist, extrahiert der LTSV-Parser die Werte aller gültigen Bezeichnungen aus der Protokolldatei. Der LTSV-Parser erfordert, dass die Bezeichnungsnamen nur aus alphanumerischen Zeichen, dem Unterstrich („_“), dem Punkt („.“) und dem Bindestrich („-“) bestehen. Falls im Protokoll mindestens ein ungültiger Bezeichnungsname vorhanden ist, schlägt die Analyse fehl. Auch wenn der Bezeichnungsname gültig ist, wird der Agent den Feldnamen überprüfen. Falls ungültige Namen vorhanden sind, sollte der Bezeichnungsname in einen gültigen Feldnamen geändert werden.

Konfigurieren des LTSV-Parsers vom Abschnitt filelog aus

Sie können den LTSV-Parser auch direkt vom Abschnitt filelog aus konfigurieren.

[filelog|simple_logs]
directory=/var/log
include=*
parser=ltsv