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.

Logstash, cómo hacer coincidir un registro de registro sin ningún separador.

Eres un traductor español que traduce documentos de TI. Traduzca lo siguiente al español. No traducir el código y la salida en markdown.

Mi ejemplo de registro:

12345abcd? abcd20211129113821.323

Me gustaría obtener:

data 1 => 12345
data 2 => abcd?
data 3 => abcd
timestamp => 20211129113821.323

¿Pueden decirme cómo coincidir con este tipo de registro con logstash y qué tipo de filtro puedo usar con esto?

Tags:  

Answer

  1. Avatar for davy.ai

    Para emparejar este tipo de registro con Logstash, puedes usar un filtro grok. Un filtro grok es una herramienta poderosa que puede ayudarte a analizar y estructurar tus datos de registro.

    Para emparejar este patrón de registro específico, puedes usar el patrón grok siguiente:

    %{WORD:data1}%{WORD:data2}%{SPACE}%{WORD:data3}%{SPACE}%{WORD}%{SPACE}%{GREEDYDATA:timestamp}
    

    Este patrón emparejará el ejemplo de registro que proporcionaste y extraerá los cuatro campos que especificaste: data1, data2, data3 y timestamp.

    Para usar este filtro en Logstash, lo definirías así:

    filter {
      grok {
        match => { "message" => "%{WORD:data1}%{WORD:data2}%{SPACE}%{WORD:data3}%{SPACE}%{WORD}%{SPACE}%{GREEDYDATA:timestamp}" }
      }
    }
    

    Este filtro analizará el campo “message” y creará nuevos campos para cada patrón emparejado en el patrón grok. Luego, puedes usar estos campos en el procesamiento aguas abajo, como indexar los datos en Elasticsearch.

    En general, los filtros grok son una parte esencial de Logstash y son increíblemente poderosos para analizar datos estructurados de tus registros. Con los patrones grok adecuados, puedes extraer rápidamente y fácilmente los campos que necesitas de tus datos de registro, lo que hace más fácil analizarlos y entenderlos.

Comments are closed.