Fluentd не может установить соединение с брокерами Kafka: Ошибка :: ECONNRESET: сброс соединения с помощью однорангового

#logging #kubernetes #apache-kafka #fluentd

#ведение журнала #kubernetes #apache-kafka #fluentd

Вопрос:

Я настроил fluentd контейнер sidecar для отправки журналов kafka .

Вот мой fluent.conf файл:

 <source>
  @type forward
  bind 127.0.0.1
  port 24224
</source>

<match log.default>
@type kafka2

  # list of seed brokers
  brokers node1:9092, node2:9092, node3:9092
  use_event_time true

  # buffer settings
  buffer_type file
  buffer_path /var/log/td-agent/buffer/kafka
  flush_interval 3s

  # topic settings
  default_topic app_logs

  # data type settings
  <format>
    @type json
  </format>

  # producer settings
  max_send_retries 1
  required_acks -1

  #deubg log
  @log_level debug
</match>
  

Хосты брокера доступны из модуля, в котором fluentd запущен контейнер sidecar.
Однако контейнер sidecar не может подключиться к брокерам. Он возвращает следующий журнал:

 2020-10-23 11:41:51  0000 [info]: starting fluentd-1.10.4 pid=8 ruby="2.5.8"
2020-10-23 11:41:51  0000 [info]: spawn command to main:  cmdline=["/usr/bin/ruby", "-Eascii-8bit:ascii-8bit", "/usr/bin/fluentd", "-c", "/fluentd/etc/fluent.conf", "-p", "/fluentd/plugins", "--under-supervisor"]
2020-10-23 11:41:55  0000 [info]: adding match pattern="log.default" type="kafka2"
2020-10-23 11:41:56  0000 [info]: #0 brokers has been set: ["node1:9092", "node2:9092", "node3:9092"]
2020-10-23 11:41:56  0000 [info]: adding source type="forward"
2020-10-23 11:41:56  0000 [info]: #0 starting fluentd worker pid=22 ppid=8 worker=0
2020-10-23 11:41:56  0000 [debug]: #0 buffer started instance=47608408649900 stage_size=0 queue_size=0
2020-10-23 11:41:56  0000 [info]: #0 initialized kafka producer: fluentd
2020-10-23 11:41:56  0000 [info]: #0 listening port port=24224 bind="127.0.0.1"
2020-10-23 11:41:56  0000 [info]: #0 fluentd worker is now running worker=0
2020-10-23 11:41:57  0000 [debug]: #0 flush_thread actually running
2020-10-23 11:41:57  0000 [debug]: #0 enqueue_thread actually running
2020-10-23 11:43:02  0000 [warn]: #0 Send exception occurred: Could not connect to any of the seed brokers:
- kafka://node1:9092: Connection error Errno::ECONNRESET: Connection reset by peer
- kafka://node2:9092: Connection error Errno::ECONNRESET: Connection reset by peer
- kafka://node3:9092: Connection error Errno::ECONNRESET: Connection reset by peer
2020-10-23 11:43:02  0000 [warn]: #0 Exception Backtrace : /usr/lib/ruby/gems/2.5.0/gems/ruby-kafka-1.3.0/lib/kafka/cluster.rb:448:in `fetch_cluster_info'
  

Как избавиться от этой проблемы? Может ли это быть проблемой со стороны узлов брокера?

Ответ №1:

С хоста fluentd попробуйте использовать https://github.com/edenhill/kafkacat для отладки подключения / доступа к Kafka. Я уверен, что это проблема сети / брандмауэра, а не fluentd.