使用 syslog 将 docker 容器日志传送到 logstash



可以在 docker 容器中记录...假设位于/var/log/syslog 中的日志被运送到 logstash 而不使用任何其他组件(如 Lumberjack 和 Logspout)?

只是想知道,因为我设置了一个环境并试图让它与 syslog 一起工作(所以 syslog 将日志从 docker 容器运送到 logstash),但现在它不起作用.. 只是想知道我的逻辑是否有问题。

/var/log/syslog 中的消息无法神奇地路由到 logstash,而无需配置转发消息的内容。某些东西必须将日志发送到日志。您有以下几种选择:

  1. 将应用配置为将日志消息发送到 stdout 而不是/var/log/syslog,并运行 logspout 以从所有正在运行的容器中收集 stdout,并将消息发送到 logstash 终结点。
  2. 在容器内运行 rsyslog,并配置系统日志守护程序(如 rsyslog)以将消息发送到 logstash 端点
  3. 通过在启动容器时将-v /dev/log:/dev/log传递给docker run,将主机的挂载/dev/log 绑定到容器。在主机上,配置 syslog 守护程序以将消息发送到 logstash。

您可以使用 docker 系统日志驱动程序将 docker 日志直接从 docker 容器发送到 logstash。只需在运行容器时添加一些参数即可

https://docs.docker.com/engine/admin/logging/overview/#supported-logging-drivers

最新更新