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.

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
Tags:  ,

Answer

  1. Avatar for 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:

    1. Verifique que el servicio de filebeat se esté ejecutando en la ruta correcta para el archivo de registro (/var/log/test.log en este caso). Puede utilizar el comando ps para verificar el estado del servicio:
      ps aux | grep filebeat
      

      Si el servicio no se está ejecutando, inícielo utilizando el siguiente comando:

      sudo systemctl start filebeat
      
    2. Verifique si filebeat está leyendo realmente el archivo de registro buscando entradas en la salida de syslog. La salida debería mostrar actualizaciones de estado para file_watcher, lo cual indica que filebeat está observando el archivo de registro en busca de cambios.
      tail -f /var/log/syslog | grep filebeat
      

      Si no hay actualizaciones, intente reiniciar el servicio de filebeat.

    3. 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 comando kafka-topics.sh para verificar esto:

      kafka-topics.sh --list --bootstrap-server <kafka-broker-endpoint>
      

      Si el tema no está presente, revise la configuración de salida para asegurarse de que las opciones de configuración hosts y topic sean correctas.

    4. 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:

      kafka-console-consumer.sh --bootstrap-server <kafka-broker-endpoint> --topic logs-topic --from-beginning
      

      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.

Comments are closed.