Драйвер системного журнала docker-compose для входа не работает

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

Чтобы добиться этого, я пытаюсь использовать рекомендованный подход к драйверу журналирования системного журнала, чтобы доставлять журналы в 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.

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

$ docker-compose logs nginx_proxy

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

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

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

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

1 ответ

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

Чтобы проверить, можете ли вы заменить nginx на базовую версию Ubuntu, которая напоминает эхо, как показано в документации журнала: 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
Другие вопросы по тегам