docker-compose - 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
这是我希望看到的,因为此日志驱动程序不适用于在本地查看日志。
我还需要做些什么才能使其正常工作吗?
解决方案
您可以在 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
推荐阅读
- matlab - 如何评价插值的质量?
- html - Rails 数据库错误和显示的消息不正确 - Upskill 在线课程
- javascript - Typescript获取构造函数的每个参数的类型构造函数
- scala - 找不到 PlayScala(Heroku 教程)
- vector - 试图修改 Rc 内的期货 Vec
> - unity3d - 从 Blender 导出后在 Unity 中撕裂的对象
- docker - 如何使用 CMD 命令仅传递选项?
- google-play-developer-api - 多个应用程序的 Playstore 可访问性预检结果
- mysql - 仅从我的查询中排除 2 列的组合
- python - 将数据框中带有逗号的列转换为数字数据以进行绘图