Настройка fluentbit с помощью докера

Я пытаюсь настроить docker-compose файл, чтобы использовать беглый бит. В моем docker-compose файл у меня есть следующий конфиг для fluentbit

fluentbit:
    image: fluent/fluent-bit:1.0.4
    command: /fluent-bit/bin/fluent-bit -c /fluent-bit/etc/fluent-bit.conf
    volumes:
      - ./docker_to_es.conf:/fluent-bit/etc/fluent-bit.conf
    networks:
      - monitor

Я запускаю это, используя docker-compose up и все выглядит хорошо. Для проверки я делаю следующее:

docker run --network=monitor --log-driver=fluentd --log-opt fluentd-address=192.168.XX.XX:24224 -t ubuntu echo "test logging"

Тест прошел успешно, но мне пришлось искать адрес контейнера для контейнера. в docker-compose файл Я не смогу ввести адрес таким образом.

Внутри docker compose файл я добавляю другой сервис.

my-service
  logging:
    driver: fluentd
    options:
      fluentd-address: fluentbit:24224
  networks:
    - monitor

Я использую название службы Fluentbit здесь как hostname, Но это не работает.

Кто-нибудь знает, как я могу заставить мой сервис выдвигать логи на fluentbit?

fluent_bit.conf файл

[SERVICE]
    Flush        5
    Daemon       Off
    Log_Level    debug

[INPUT]
    Name      forward
    Listen    fluentbit
    Port      24224

[OUTPUT]
    Name  es
    Match *
    Host  elasticsearch
    Port  9200
    Index fluentbit
    Type  docker

0 ответов

Ведение журнала Docker работает в сети хостов, но вы работаете fluentbit во внутренней сети мониторинга... вам нужно сделать перенаправление портов с fluentbit на хост и настроить драйвер журналирования на localhost или запустить fluentbit в net_mode: host

Другие вопросы по тегам