我正在尝试为许多微服务 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
它验证了一切正常,我可以看到主机事件现在正在进入日志控制台。
然后我在 docker-compose 中配置了服务,就像这样......
nginx_proxy:
build: nginx_proxy
logging:
driver: "syslog"
options:
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
然后,我重建并重新启动了容器,...
$ docker-compose up --build -d
但是,我没有从将要日志的容器中获取任何日志。
我可以通过执行以下命令来验证系统日志驱动程序更新是否已生效...
$ docker-compose logs nginx_proxy
此报告...
nginx_proxy_1 | WARNING: no logs are available with the 'syslog' log driver
这就是我希望看到的,因为此日志驱动程序不适用于在本地查看日志。
我还需要做些什么才能使其正常工作吗?
您可以在目录中共享 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