Kafka no está ingiriendo registros.
He creado un servicio de Kafka en un clúster de kube basado en la plantilla de Bitnami. La implementación se realiza correctamente.
A continuación, instalé un filebeat para enviar logs a ese servicio. Me parece que el filebeat se comunica con el clúster pero no ingestiona los logs. De hecho, después de iniciar el servicio de filebeat, encuentro un tema llamado “logs-topic” que es creado por filebeat. Sin embargo, este tema sigue vacío. Mi configuración se muestra a continuación:
filebeat.inputs:
- type: filestream
enabled: true
paths:
- /var/log/test.log
fields:
level: debug
review: 1
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
setup.template.settings:
index.number_of_shards: 1
setup.kibana:
processors:
- add_host_metadata:
when.not.contains.tags: forwarded
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
output.kafka:
hosts: ["ip-172-31-26-181:30092"]
topic: "logs-topic"
codec.json:
pretty: false
El tema de Kafka está presente.
I have no name!@kafka-release-client:/$ kafka-topics.sh --list --bootstrap-server kafka-release.default.svc.cluster.local:9092
.......
logs-topic
Salida del syslog:
Dec 30 08:28:45 ip-172-31-23-248 filebeat[29968]: 2021-12-30T08:28:45.928Z INFO [file_watcher] filestream/fswatch.go:137 Start next scan
Dec 30 08:28:53 ip-172-31-23-248 filebeat[29968]: 2021-12-30T08:28:53.186Z INFO [publisher] pipeline/retry.go:219 retryer: send unwait signal to consumer
Dec 30 08:28:53 ip-172-31-23-248 filebeat[29968]: 2021-12-30T08:28:53.186Z INFO [publisher] pipeline/retry.go:223 done
Dec 30 08:28:55 ip-172-31-23-248 filebeat[29968]: 2021-12-30T08:28:55.927Z INFO [file_watcher] filestream/fswatch.go:137 Start next scan
davy.ai
Solución
Puede haber múltiples razones por las cuales los registros no se están ingiriendo en el tema de Kafka. Aquí hay algunas soluciones potenciales a considerar:
/var/log/test.log
en este caso). Puede utilizar el comandops
para verificar el estado del servicio:Si el servicio no se está ejecutando, inícielo utilizando el siguiente comando:
syslog
. La salida debería mostrar actualizaciones de estado parafile_watcher
, lo cual indica que filebeat está observando el archivo de registro en busca de cambios.Si no hay actualizaciones, intente reiniciar el servicio de filebeat.
Verifique si filebeat puede comunicarse con Kafka. Una forma de hacerlo es verificar si se ha creado el tema
logs-topic
en Kafka. Puede utilizar el comandokafka-topics.sh
para verificar esto:Si el tema no está presente, revise la configuración de salida para asegurarse de que las opciones de configuración
hosts
ytopic
sean correctas.Por último, verifique si filebeat está enviando los registros a Kafka verificando los mensajes en el tema. Puede utilizar el comando
kafka-console-consumer.sh
para ver los mensajes en el tema:Si no hay mensajes, indica que filebeat no está enviando ningún registro a Kafka. Verifique los pasos anteriores para asegurarse de que el servicio esté en ejecución, el archivo de registro se esté leyendo y el tema de Kafka se haya creado.
Siguiendo estos pasos, debería poder diagnosticar y resolver cualquier problema que impida que filebeat ingiera registros en Kafka.