
Ich habe eine größtenteils standardmäßige Splunk-Konfiguration, die die meisten meiner Protokollmeldungen aus einer Standard-Java-Anwendung richtig aufteilt. Wir überschreiben keine der Standardeinstellungen bezüglich Zeilenumbrüchen, Zeilenzusammenführung oder Datumsformaten. In einigen Situationen scheint Splunk zu erkennen, dass ein mehrzeiliges Protokollereignis ein Datum enthält, und teilt das Ereignis in dieser Zeile falsch auf. Ich würde gerne wissen, wie ich dies verhindern kann.
Unten finden Sie ein Beispiel mit 4 Protokollereignissen – jedes beginnt mit einem Datums-/Zeitstempel und einem Schweregrad. Beachten Sie, dass das erste und das vierte Ereignis einzeilige Protokollereignisse sind und das zweite und dritte ausführlichere mehrzeilige Protokollereignisse, die mehr Details enthalten.
Im Fall des zweiten Ereignisses teilt Splunk dieses Ereignis korrekt in seiner Gesamtheit auf. Beim dritten Ereignis weicht das Datum, das wir neben „aufgetreten am“ schreiben, jedoch um ein oder zwei Millisekunden vom Zeitstempel zu Beginn des Ereignisses ab. In diesem Fall teilt Splunk diese Ereignisse in mehrere Ereignisse auf.
Es ist erwähnenswert, dass der Zeilentrenner für die mehrzeiligen Ereignisse wahrscheinlich ist \n
. Ich bin nicht 100 % sicher, was der Zeilentrenner am Ende jedes Ereignisses ist, aber es ist auch wahrscheinlich \n
.
Gibt es eine Möglichkeit, zu verhindern, dass Splunk einen Datums-/Zeitstempel in der Mitte einer Zeile erkennt und das Ereignis basierend auf diesem Token aufteilt?
2021-08-27 20:57:34,860 ERROR [<redacted>][<redacted>] <redacted>
2021-08-27 20:56:24,118 ERROR [<redacted>][<redacted>] MESSAGE="
<redacted - more info>
<redacted - more info>
-- OCCURRED ON: 08/27/2021 20:56:24:11
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
2021-08-27 20:56:11,221 ERROR [<redacted>][<redacted>] MESSAGE="
<redacted - more info>
<redacted - more info>
-- OCCURRED ON: 08/27/2021 20:56:11:220
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
<redacted - more info>
2021-08-27 20:57:09,960 ERROR [<redacted>][<redacted>] <redacted>
Antwort1
Sagen Sie Splunk, dass Ereignisse vor einem Datum unterbrochen werden sollen, das am Anfang einer Zeile steht. Außerdem wäre es hilfreich, Splunk das erwartete Format der Zeitstempel mitzuteilen:
LINE_BREAKER = ([\r\n]+)\d\d\d\d-\d\d-\d\d
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%d %H:%M:S,%3N