首页 > 解决方案 > docker-compose syslog 驱动程序无法正常工作

问题描述

我正在尝试为许多微服务 docker 容器实现集中式日志记录。

为了实现这一点,我尝试使用推荐的 syslog 日志记录驱动程序方法,将日志传送到 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

但是,我没有从要登录的容器中获得任何日志。

我可以通过执行以下操作来验证 syslog 驱动程序更新是否已生效...

$ docker-compose logs nginx_proxy

这报道...

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

这是我希望看到的,因为此日志驱动程序不适用于在本地查看日志。

我还需要做些什么才能使其正常工作吗?

标签: docker-composesyslogloggly

解决方案


您可以在 nginx_proxy 目录中共享 Dockerfile 吗?您是否确认它正在生成日志?

为了测试,你能不能用基本的 ubuntu 换掉 nginx,就像它们在 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

推荐阅读