¿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?
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:
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: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: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.