Cómo establecer el nombre de host en el nombre de índice en el archivo de configuración de Fluentd.
Quiero establecer el nombre de host en index_name del archivo de configuración de Fluentd. Estoy configurando de la siguiente manera pero no está funcionando.
<match output.**="">
@type copy
<store>
@type elasticsearch
host elasticsearch
ssl_version TLSv1_2
ssl_verify false
type_name _doc
port 443
scheme https
flush_interval 10s
index_name abc-${hostname}
</store>
<store>
@type stdout
</store>
</match>
¿Cómo puedo lograr eso?
davy.ai
Para establecer el nombre de host en el campo index_name del archivo de configuración de fluentd, debes usar la sintaxis
${hostname}
dentro de la directiva index_name. Al analizar tu fragmento de configuración, parece que ya estás utilizando esta sintaxis. Sin embargo, no está funcionando para ti.Una posible razón para esto podría ser que la sintaxis
${hostname}
no se esté evaluando correctamente en tu configuración de fluentd. Para verificar esto, puedes intentar imprimir el valor${hostname}
en la consola utilizando la siguiente configuración:Esto imprimirá el registro en formato JSON en la consola y podrás ver el valor real de
${hostname}
.Si el valor del nombre de host no se imprime correctamente, es posible que debas configurar tu entorno de fluentd para evaluar correctamente esta sintaxis. Una posible solución es especificar el nombre de host en tu configuración
<source>
utilizando la directiva@label
. Por ejemplo:Esta configuración utiliza el método
Socket.gethostname
para establecer dinámicamente el valor del nombre de host en la sección<filter>
, que luego se reutiliza en la sección<store>
utilizando la sintaxis${hostname}
. Esto debería establecer correctamente el valor del nombre de host en tu directiva index_name.