
Eu tenho uma configuração padrão do Splunk que divide corretamente a maioria das minhas mensagens de log de um aplicativo Java padrão. Não substituímos nenhum dos padrões relativos a quebras de linha, mesclagem de linhas ou formatos de data. Em algumas situações, o Splunk parece estar detectando que há uma data em um evento de log multilinha e divide incorretamente o evento nessa linha. Gostaria de saber como evitar que isso aconteça.
Um exemplo está incluído abaixo com 4 eventos de log - cada um começando com um carimbo de data e hora e gravidade. Observe que o primeiro e o quarto eventos são eventos de log de linha única e o segundo e o terceiro são eventos de log multilinha mais detalhados que incluem mais detalhes.
No caso do segundo evento, o Splunk divide corretamente este evento na sua totalidade. Para o terceiro evento, entretanto, a data que escrevemos ao lado de “ocorreu em” está desviada em um ou dois milissegundos do carimbo de data/hora no início do evento. Quando isso acontece, o Splunk divide esses eventos em vários eventos.
É importante notar que o separador de linhas para eventos multilinhas é provavelmente \n
. Não tenho 100% de certeza de qual é o separador de linha no final de cada um dos eventos, mas também é provável \n
.
Existe alguma maneira de evitar que o Splunk detecte uma data/timestamp no meio de uma linha e divida o evento com base nesse token?
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>
Responder1
Diga ao Splunk para interromper eventos antes de uma data que esteja no início de uma linha. E ajudaria informar ao Splunk o formato esperado dos carimbos de data/hora:
LINE_BREAKER = ([\r\n]+)\d\d\d\d-\d\d-\d\d
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%d %H:%M:S,%3N