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

时间:2014-12-16 17:42:05

标签: docker logstash syslog rsyslog

可以登录docker容器...说/ var / log / syslog中的日志是否运送到logstash而不使用任何其他组件,如lumberjack和logspout?

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

2 个答案:

答案 0 :(得分:6)

/ var / log / syslog中的消息无法在没有配置转发消息的情况下神奇地路由到logstash。有些东西必须将日志发送到logstash。您有几个选择:

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

答案 1 :(得分:0)

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

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