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
ltsv
-Parsernamen in der Konfiguration an.
[parser|myltsv] base_parser=ltsvEine 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)
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