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.

¿Se puede enviar un error de filtro de Logstash a Elastic?

Tengo estos errores de análisis de json de vez en cuando:

2022-01-07T12:15:19,872][ADVERTENCIA ][logstash.filters.json    ] Error al analizar el json
{:source=>"message", :raw=>" { el json inválido }", :exception=>#<LogStash::Json::ParserError: Escape de carácter no reconocido 'x' (código 120) 

¿Hay alguna manera de obtener el campo :exception en el archivo de configuración de logstash?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de obtener el campo :exception en el archivo de configuración de logstash utilizando la opción metadata en el plugin de filtro de logstash.

    En tu archivo de configuración de logstash, puedes agregar las siguientes líneas al plugin de filtro json para incluir el campo de excepción en la salida:

    filter {
      json {
        source => "message"
        metadata => true
      }
    }
    

    Con la opción metadata => true, Logstash incluirá cualquier campo adicional de metadatos, como el campo de excepción, en la salida. Luego puedes hacer referencia al campo de excepción en tu configuración de salida de esta manera:

    output {
      stdout {
        codec => rubydebug {
          metadata => true
        }
      }
    }
    

    Esto imprimirá el campo de excepción junto con el resto de la salida en tu consola.

    Alternativamente, puedes utilizar el plugin de filtro fingerprint para agregar el campo de excepción a un valor de hash que se puede incluir en la salida. Por ejemplo:

    filter {
      json {
        source => "message"
      }
      fingerprint {
        source => "exception"
        target => "exception_hash"
        method => "SHA256"
      }
    }
    

    Esto creará un nuevo campo llamado exception_hash que contiene un valor de hash del campo de excepción. Luego puedes incluir este valor de hash en tu configuración de salida según sea necesario.

Comments are closed.