Я пытаюсь настроить стек EFK с помощью fluent-bit на контейнерах докеров. Хотя я мог перенести журналы с fluent-bit на elasticsearch, когда я попытался интегрировать fluentd, у меня возникли проблемы с этим. Это точное сообщение об ошибке:
непредвиденная ошибка error_class = Errno :: EADDRNOTAVAIL error = "Адрес недоступен - bind (2) для \" fluent-bit \ "порта 24224"
Сервисы в моем файле docker-compose
elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:${TAG} ports: - '9200:9200' - '9300:9300' volumes: - type: bind source: ./config/elasticsearch.yml target: /usr/share/elasticsearch/config/elasticsearch.yml read_only: true - type: volume source: elasticsearch target: /usr/share/elasticsearch/data networks: - efk_1 fluentd: image: fluent/fluentd:${FLBV} ports: - '24224:24224' volumes: - type: bind source: ./config/fluent.conf target: /fluentd/etc/fluent.conf read_only: true networks: - efk_1 depends_on: - elasticsearch fluent-bit: image: fluent/fluent-bit:${FBITV} ports: - '2020:2020' volumes: - type: bind source: ./config/fluent-bit.conf target: /fluent-bit/etc/fluent-bit.conf read_only: true - type: bind source: ./sample_logs target: /var/log networks: - efk_1 depends_on: - fluentd
Раньше я напрямую переносил журналы из fluent-bit в elasticsearch, как это, без конфигурации fluentd где-либо:
[SERVICE]
Flush 2
Log_Level debug
[INPUT]
Name tail
Path /var/log/log.txt
[OUTPUT]
Name es
Match *
Host elasticsearch
Port 9200
Это успешно отправило журналы в elasticsearch, но теперь я добавил fluentd между ними, поэтому fluent-bit отправит журналы в fluentd, который затем отправит в elasticsearch.
fluent-bit conf:
[SERVICE]
Flush 2
Log_Level debug
[INPUT]
Name tail
Path /var/log/log.txt
[OUTPUT]
Name forward
Match *
Host fluentd
fluentd conf:
<source>
@type forward
bind fluent-bit
</source>
<match **>
@type stdout
</match>
Это вызывает у меня ошибки, поскольку они не могут определить адрес, даже если они являются частью одной сети докеров.
Я получаю следующие ошибки:
fluent-bit_1 | [2019/11/06 10:31:02] [ошибка] [io] Ошибка TCP-соединения: fluentd: 24224 (в соединении отказано)
а также
fluentd_1 | 2019-11-06 10:31:02 +0000 [ошибка]: # 0 непредвиденная ошибка error_class = Errno :: EADDRNOTAVAIL error = "Адрес недоступен - bind (2) для \" fluent-bit \ "порта 24224"
Может ли кто-нибудь помочь мне узнать, где я делаю ошибку?