драйвер системного журнала docker-compose для входа не работает - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь реализовать централизованное ведение журналов для нескольких контейнеров док-услуг микро-сервисов.

Для достижения этой цели я пытаюсь использовать рекомендованный подход к драйверу журналирования системного журнала, чтобы доставлять журналы в loggly.

https://www.loggly.com/docs/docker-logging-driver/

Я сделал следующее ...

На удалённой докер-машине ...

$ curl -O https://www.loggly.com/install/configure-linux.sh
$ sudo bash configure-linux.sh -a SUBDOMAIN -u USERNAME

Он проверил, что все работает правильно, и я вижу, что события хоста теперь проходят через консоль loggly.

Затем я настроил службы в docker-compose, вот так ...

  nginx_proxy:
    build: nginx_proxy
    logging:
      driver: "syslog"
      options:
        tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"

Затем я перестроил и снова запустил контейнеры с ...

$ docker-compose up --build -d

Однако я не получаю никаких журналов от контейнеров, идущих в loggly.

Я могу убедиться, что обновление драйвера системного журнала вступило в силу, выполнив ...

$ docker-compose logs nginx_proxy

Это сообщает ...

nginx_proxy_1             | WARNING: no logs are available with the 'syslog' log driver

Именно это я и ожидал увидеть, так как этот драйвер журнала не работает для локального просмотра журналов.

Есть ли что-то еще, что мне нужно сделать, чтобы это работало правильно?

1 Ответ

0 голосов
/ 12 сентября 2018

Можете ли вы поделиться Dockerfile в каталоге nginx_proxy? Вы подтвердили, что он генерирует журналы?

Чтобы проверить, можете ли вы заменить nginx на базовую Ubuntu, что эхо похоже на то, что они показывают в документации loggly: https://www.loggly.com/docs/docker-logging-driver/

Пробег:

sudo docker run -d --log-driver=syslog --log-opt tag="{{.ImageName}}\{{.Name}}\{{.ID}}" ubuntu echo "Test Log"

Проверка:

$ tail /var/log/syslog
...