0

我正在设置一个 EFK 堆栈,它按预期工作,但有一些我想解决的缺点。

  1. 如果我的 fluentd 实例未运行,则使用该 fluentd 日志驱动程序的其他容器将无法启动。这是一个相当大的问题,因为主应用程序现在依赖于我的日志聚合器。
ERROR: for sharedcontainers_mongo_s3_backup_1  Cannot start service mongo_s3_backup: b'failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused'
  1. 使用 fluentd 日志记录驱动程序时,我不再能够在运行时在命令行中查看日志docker-compose logs。虽然这在很多时候都可以,但日志聚合器可能存在问题(可能是破坏了所有容器的情况),您现在无法轻松查看日志。您是否能够使用多个日志记录驱动程序或其他解决方法?
redis_1               | WARNING: no logs are available with the 'fluentd' log driver

码头工人-compose.yml:

logging:
  driver: "fluentd"
  options:
    fluentd-address: localhost:24224
4

1 回答 1

2

在 docker 社区版本中,您只有少数支持“双重日志记录”的日志记录驱动程序:local、json-file、journald。

所以,有几种选择:

  1. 为 docker 使用 journald 日志驱动程序,这样您就可以使用 docker logs 命令和 journalctl 查看日志。为了将日志转发到 fluentd,我们在主机上配置 syslog 将所有日志转发到 fluentd 端口。

  2. 使用 docker 企业版。此版本为其他驱动程序(包括 fluentd 日志驱动程序)提供“双重”日志记录。

检查此链接以获取更多详细信息docs.docker.com/config/containers/logging/configure

于 2019-06-17T12:38:14.300 回答