Побочные эффекты при использовании Fluentd Logging Driver с Docker - PullRequest
0 голосов
/ 14 июня 2019

Я настраиваю стек EFK, который работает, как и ожидалось, но у него есть несколько недостатков, которые я хотел бы обойти.

  1. Если мой экземпляр fluentd не запущен, другие контейнеры, использующие этодрайвер журнала Fluetnd не запустится.Это довольно серьезная проблема, поскольку основное приложение теперь зависит от моего агрегатора журналов.
ERROR: for sharedcontainers_mongo_s3_backup_1  Cannot start service mongo_s3_backup: b'failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused'
При использовании драйвера ведения журнала fluentd я больше не могу просматривать журналы в командной строке при запуске docker-compose logs.Хотя в большинстве случаев это нормально, может быть проблема с агрегатором журналов (возможно, ситуация, которая сломала все контейнеры), и теперь вы не можете легко просматривать свои журналы.Вы можете использовать несколько драйверов ведения журналов или другой обходной путь?
redis_1               | WARNING: no logs are available with the 'fluentd' log driver

docker-compose.yml:

logging:
  driver: "fluentd"
  options:
    fluentd-address: localhost:24224

1 Ответ

2 голосов
/ 17 июня 2019

В версии сообщества Docker у вас есть только несколько драйверов ведения журналов, которые поддерживают «двойное ведение журнала»: local, json-file, journald.

Итак, есть несколько вариантов:

  1. Используйте драйвер журнала journald для докеров, таким образом вы можете просматривать журналы с помощью команды docker logs, а также с помощью journalctl.Чтобы пересылать журналы на fluentd, мы настраиваем системный журнал на хосте, чтобы пересылать все журналы на порт fluentd.

  2. Использовать версию Docker Enterprise.Эта версия обеспечивает «двойное» ведение журнала для других драйверов, включая драйвер журнала Fluentd.

Проверьте эту ссылку для получения более подробной информации docs.docker.com / config / Containers / logging / configure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...