2016-11-16 3 views
0

Ich möchte eine Reihe von Zeichenfolgen mit OR suchen (jeder bessere Weg wird geschätzt). Gibt es eine Möglichkeit, Strings einen Namen zuzuweisen?Splunk Suche Haufen Strings und Display-Tabelle von _raw

index = blah host = 123 "FEHLER" ("FILE1" ODER "FILE2" ODER "FILE3") | rex feld = _raw ". errorDesc \": \ "(?.) \", \ "errorCode. *" | Tisch _time RESP_JSON

Jetzt will ich Dateiname als eine andere Spalte in der Tabelle hinzuzufügen. Wenn Datei für Rest der Spalten nicht vorhanden zeigen leere Werte

Hinweis: filename ist kein Feld, es ist nur eine Zeichenfolge in _raw Feld

Splunk ::

[12 /12/2015:12:12:12.123] Fehler aufgetreten während der Verarbeitung FILE1. errorDesc ":" {Feld: 123, Code: 124} "," errorCode [12.12.2015: 13: 13: 12.123] FEHLER bei der Verarbeitung aufgetreten FILE3. errorDesc ":" {field: 125, Code: 124} "" errorcode

zB Ausgang:

Datei ------------------ -_zeit ----------------------- RESP_JSON

FILE1 ----- 12/12/2015: 12: 12: 12.123 - --- {field: 123, Code: 124}

FILE2

FILE3 ----- 2015.12.12: 13: 13: 12.123 ----- {field: 125, Code: 124}

Kein Protokolleintrag für File2 vorhanden ist, so leere Zeile mit nur wird datei Name

angezeigt

Antwort

0

Haben u unten versucht, die Dateinamen zu extrahieren?

index=blah host=123 "ERROR" ("FILE1" OR "FILE2" OR "FILE3") | rex field=_raw "(?<filename>). errorDesc" | table _time RESP_JSON filename 

In Bezug auf die erste Frage der Namensgebung Suchbegriffe haben Sie auf Makros angesehen oder mit subsearchs mit Lookups?

+0

Willkommen bei Stackoverflow! Wir sind eine Frage und Antwort Website. Wenn Sie Fragen stellen, um eine Frage zu klären, sollte dies in einem Kommentar geschehen, wie dem, den Sie gerade lesen. –

0

dieses Geben Sie einen Schuss:

index=blah host=123 "ERROR" ("FILE1" OR "FILE2" OR "FILE3") | rex "processing\s+(?<filename>[^\.]+)\.\s+" | table _time RESP_JSON filename 

Es ist die gleiche Suche wie oben, nur eine andere Regex-Extraktion.