Sie können Parser für das kommagetrennte Format (CSV) sowohl für FileLog als auch für WinLog-Collectors konfigurieren.

Die verfügbaren Optionen für den csv-Parser sind fields und delimiter.

Optionen für Parser für das kommagetrennte Format (CSV-Parser)

Beachten Sie die folgenden Informationen hinsichtlich der Struktur des csv-Parsers.

Option Beschreibung
fields

Die fields-Option gibt die Namen der Felder an, die im Protokoll vorhanden sind. Die Gesamtzahl der aufgelisteten Feldnamen muss der Gesamtzahl der kommagetrennten Felder in den Protokollen entsprechen.

Die fields-Option ist für den CSV-Parser obligatorisch. Wenn sie nicht angegeben ist, wird nichts analysiert. Optional und abhängig vom Feldinhalt kann der Feldwert von doppelten Anführungszeichen eingeschlossen sein.

Feldnamen müssen durch Kommas getrennt werden, beispielsweise
fields = field_name1, field_name2, field_name3, field_name4
Diese Definition basiert auf der Annahme , dass die Namen field_name1, field_name2, field_name3 und field_name4 sequenziell den extrahierten Feldern zugeordnet werden.

Wenn manche Felder vom CSV-Parser ausgelassen werden müssen, können die Namen in der Liste ausgelassen werden. Beispiel:

 fields = field_name1, , field_name3, field_name4

In diesem Fell extrahiert der Parser nur das erste, dritte und vierte Feld des Ereignisses und weist diesen dann die Namen field_name1, field_name3 und field_name4 zu.

Wenn die fields-Option keine vollständige Liste der Felder in Ihren Protokollen angibt, gibt der Parser eine leere Liste zurück. Wenn die Protokolldatei z. B. field1, field2, field3, field4 und field5 enthält, aber nur fields= field1,field2,field3 angegeben ist, gibt der Parser eine leere Feldliste zurück.

fields=* kann für einen CSV-Parser nicht verwendet werden, da der Parser eine leere Feldliste zurückgibt. Es muss eine vollständige Liste angegeben werden, es sei denn, bestimmte Felder müssen wie bereits beschrieben ausgelassen werden.

delimiter

Die delimiter-Option gibt das Trennzeichen an, das vom Parser verwendet werden soll. Der csv-Parser verwendet standardmäßig ein Komma als Trennzeichen. Sie können dieses jedoch in ein Semikolon, ein Leerzeichen oder ein anderes Sonderzeichen ändern. Das festgelegte Trennzeichen muss in doppelte Anführungszeichen eingeschlossen werden.

Beispielsweise delimiter="," und delimiter=";".

Der csv-Parser unterstützt alle Zeichenfolgen als Trennzeichen, welche in Anführungszeichen eingeschlossen sind, z. B. "||" oder "asd". Die Trennzeichen der Feldwerte in den Protokollen müssen mit dem durch den Trennzeichen-Parameter definierten Muster exakt übereinstimmen, da der Parser andernfalls fehlschlägt.

Sonderzeichen wie z. B. Leerzeichen oder Tabstopps können als Trennzeichen für den csv-Parser definiert werden, so lange das Espacezeichen dem Sonderzeichen für (\", \s, \t) vorangestellt wird. Beispielsweise delimiter="\s" oder delimiter=" ".

Die Option delimiter ist optional.

CSV-Parser-Konfiguration

Verwenden Sie die folgende Konfiguration, um Protokolle aus winlog- oder filelog-Quellen zu analysieren.

[filelog|some_csv_logs]
directory=D:\Logs
include=*.txt;*.txt.*
parser=myparser

[parser|myparser]
base_parser = csv
fields = timestamp,field_name1, field_name2, field_name3
delimiter = ";"
field_decoder={"timestamp": "tsp_parser"}
[parser|tsp_parser]
; timestamp is a built-in parser
base_parser=timestamp            
; "format" is an option of timestamp parser 
format=%Y-%m-%d %H:%M:%S

Bei Verwendung dieser Konfiguration werden Protokolle, die aus der some_csv_logs-Quelle erfasst werden (z. B. aus dem Verzeichnis directory=D:\Logs) von myparser analysiert. Wenn die erfassten Protokolle drei durch Semikolon getrennte Werte enthalten, erhalten die analysierten Ereignisse sequenziell die Namen field_name1, field_name2 und field_name3.

So analysieren Sie das folgende CSV-Protokoll:

"United States","USA","North America","High income: OECD","Fiscal year end: September 30; reporting period for national accounts data: CY."
Definieren Sie die CSV-Parser-Konfiguration:
[parser|csv_log_parser]
base_parser=csv
fields=country_name, country_code, region, income_group, special_notes
Der CSV-Parser gibt folgende Felder zurück:
country_name=United States
country_code=USA
region=North America
income_group=High income: OECD
special_notes=Fiscal year end: September 30; reporting period for national accounts data: CY.