es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El filtro Grok no funciona cuando la identificación tiene guiones.

Tengo una entrada de ejemplo como la siguiente.

[2022-01-06 19:51:42,143] [http-nio-8080-exec-7] DEBUG  [50a4f8740c30b9ca,c1b11682-1eeb-4538-b7f6-d0fb261b3e1d]

Implementé un filtro grok para validar el texto.

\[%{TIMESTAMP_ISO8601:timestamp}\] \[(?<threadname>[^\]]+)\] %{LOGLEVEL:logLevel}  \[%{WORD:traceId},%{WORD:correlationId}\]

Cuando lo valido, dice que no hay coincidencias. Pero si elimino el guión en el ID de correlación, ese filtro funciona correctamente. ¿Hay alguna modificación que pueda hacer en el filtro para aceptar el guión en el ID de correlación?

Tags:  

Answer

  1. Avatar for davy.ai

    Sí, se necesita una modificación en el filtro grok para aceptar “-” en el identificador de correlación. El filtro actual tiene un patrón WORD utilizado para el correlationId, lo que significa que solo coincide con letras, dígitos y guiones bajos. Para aceptar “-” en correlationId, necesitamos modificar el patrón para incluir el carácter “-“.

    El filtro grok actualizado se verá así:

    \[%{TIMESTAMP_ISO8601:timestamp}\] \[(?<threadname>[^\]]+)\] %{LOGLEVEL:logLevel} \[%{WORD:traceId},%{DATA:correlationId}\]

    Aquí, hemos reemplazado el patrón WORD con DATA, que coincide con cualquier carácter incluyendo “-” y hace que el filtro funcione para la entrada dada.

Comments are closed.