Как собирать логи через fluentd в режиме роя - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь запустить сервисы (монго) в режиме роя с логом, собранным вваскрипт через fluentd. Работает (!) С:

docker-compose up

Но когда я разворачиваюсь через стек, сервисы запускаются, но журналы не собираются, и я не знаю, как определить причину.

docker stack deploy -c docker-compose.yml env_staging

докер-compose.yml:

version: "3"
services:
    mongo:
        image: mongo:3.6.3
        depends_on:
         - fluentd
        command: mongod
        networks:
         - webnet
        logging:
          driver: "fluentd"
          options:
            fluentd-address: localhost:24224
            tag: mongo
    fluentd:
        image: zella/fluentd-es
        depends_on:
         - elasticsearch
        ports:
         - 24224:24224
         - 24224:24224/udp
        networks:
         - webnet
    elasticsearch:
        image: elasticsearch
        ports:
         - 9200:9200
        networks:
         - webnet
    kibana:
        image: kibana
        depends_on:
         - elasticsearch
        ports:
         - 5601:5601
        networks:
         - webnet
networks:
     webnet:

обн

Я удаляю fluentd-address: localhost:24224 и проблема решается. Но я не понимаю, что такое "localhost"? Почему мы не можем установить "свободный" хост. Если кто-то объяснит, что такое fluentd-address, я приму ответ.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вам не нужно указывать fluentd-адрес. Когда вы устанавливаете logging driver на fluentd, Swarm автоматически обнаруживает ближайший экземпляр fluentd и отправляет туда весь стандартный вывод нужного контейнера.

0 голосов
/ 13 мая 2018

fluentd-address - это адрес, где находится демон fluentd (по умолчанию это localhost, и вам не нужно указывать его в этом случае).

В вашем случае (с использованием стека) ваш демон fluentd будет работать на узле, вы должны обратиться к этой службе, используя имя службы (в вашем случае fluentd, вы пробовали?).

Не забудьте добавить к вашим опциям fluentd-async-connect: "true"

Ссылка на: https://docs.docker.com/config/containers/logging/fluentd/#usage

...