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.

Patrón Grok incorrecto.

Estoy intentando crear un patrón Grok para el siguiente rastro de un registro:

"source":"<a href="\"http://twitter.com/download/iphone\"" rel="\"nofollow\"">Twitter for iPhone</a>"

El patrón Grok que he creado es el siguiente:

a href=\\\"http://twitter.com/download/(?<client>\b\w+\b)

Este patrón parece funcionar correctamente en cualquier depurador Grok en línea que he probado. Sin embargo, cuando ejecuto Logstash, obtengo un error de análisis Grok. Esta es mi configuración de Logstash:

grok {
  match => {
    "message" => "a href=\\\"http://twitter.com/download/(?<client>\b\w+\b)"
  }
}

¿Me podría decir qué estoy haciendo mal? No entiendo por qué no funciona en Logstash pero parece funcionar en cualquier depurador en línea.

La salida esperada es: Client: iPhone.

Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece ser que el problema está en las barras diagonales invertidas de tu patrón grok. En la configuración de logstash, debes escapar las barras diagonales invertidas con una barra diagonal invertida adicional, de esta manera:

    grok { match => {"message" => "a href=\\\\http://twitter.com/download/(?<client>\\b\\w+\\b)"}}
    
    

    Esto debería resolver el error de análisis grok que estás experimentando. Es posible que el depurador grok en línea que estás utilizando no requiera las dobles barras diagonales invertidas, por eso funciona allí pero no en logstash.

Comments are closed.