Splunk divide eventos de registro de varias líneas por fecha

Splunk divide eventos de registro de varias líneas por fecha

Tengo una configuración de Splunk mayoritariamente predeterminada que divide correctamente la mayoría de mis mensajes de registro de una aplicación Java estándar. No anulamos ninguno de los valores predeterminados relacionados con saltos de línea, combinación de líneas o formatos de fecha. En algunas situaciones, Splunk parece detectar que hay una fecha en un evento de registro de varias líneas y divide incorrectamente el evento en esa línea. Me gustaría saber cómo evitar que esto suceda.

A continuación se incluye un ejemplo con 4 eventos de registro, cada uno de los cuales comienza con una marca de fecha, hora y gravedad. Tenga en cuenta que el primer y el cuarto evento son eventos de registro de una sola línea y el segundo y el tercero son eventos de registro de varias líneas más detallados que incluyen más detalles.

En el caso del segundo evento, Splunk divide correctamente este evento en su totalidad. Sin embargo, para el tercer evento, la fecha que escribimos junto a "ocurrió el" está desviada uno o dos milisegundos de la marca de tiempo al comienzo del evento. Cuando esto sucede, Splunk divide estos eventos en varios eventos.

Vale la pena señalar que el separador de línea para los eventos de varias líneas es probable \n. No estoy 100% seguro de cuál es el separador de línea al final de cada uno de los eventos, pero también es probable \n.

¿Hay alguna forma de evitar que Splunk detecte una fecha/marca de tiempo en medio de una línea y divida el evento en función de ese 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>

Respuesta1

Dígale a Splunk que rompa los eventos antes de una fecha que aparece al comienzo de una línea. Y sería útil decirle a Splunk el formato esperado de las marcas de tiempo:

LINE_BREAKER = ([\r\n]+)\d\d\d\d-\d\d-\d\d
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%d %H:%M:S,%3N

información relacionada