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

可以logindocker容器…说/ var / log / syslog中的日志获取运送到logstash,而不使用任何额外的组件,如lumberjack和logspout?

只是想知道,因为我build立了一个环境,并试图使它与syslog工作(所以syslog船舶日志从docker容器logstash),但现在它不工作..只是想知道是否有什么问题,我的逻辑。

没有办法将/ var / log / syslog中的消息神奇地路由到logstash,而没有configuration转发消息。 必须将日志发送到logstash。 你有几个select:

  1. configuration您的应用程序将日志消息发送到标准输出而不是/ var / log / syslog,然后运行logspout从所有正在运行的容器中收集标准输出并将消息发送到您的logstash端点。
  2. 在容器中运行rsyslog,并configurationsyslog守护进程(如rsyslog),以便将消息发送到logstash端点
  3. 通过在启动容器时将-v /dev/log:/dev/log传递给docker run ,从主机绑定-v /dev/log:/dev/log到容器。 在主机上,configuration你的系统日志守护进程发送消息到logstash。

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

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