使用docker-compose记录:我可以同时使用两个驱动程序吗?

时间:2016-06-03 10:24:33

标签: logging docker docker-compose

我使用docker-compose 1.7.1启动了多个容器,gelf将所有日志发送到ELK安装。

它工作正常,但是,我们仍然在学习如何使用整个设置,在docker标准输出中查看日志非常方便(因此可以通过执行docker logs来访问)。

所以,我的问题是:有没有办法同时使用两个驱动程序?

我尝试了这个,但忽略了第一个驱动程序:

logging:  
      driver: json
      driver: gelf
      options:
       gelf-address: "udp://${ELK_HOST_IP}:12201"

您是否了解在标准输出中查看可能不涉及Docker撰写日志记录驱动程序的日志的其他方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

要保持docker logs正常工作,您需要使用json-filejournald logging drivers

使用journald驱动程序,您可以发送journal as an input for logstashforward it via GELF

使用默认的json-file驱动程序,您可以直接处理日志文件。 logstash有一个通用的json_lines input可以工作,但我不知道docker现有的东西,可能是由于docker支持本机输入。

对于任何网络日志记录,通常可以将事件发送到本地转发器,该转发器既可以写入本地日志文件又可以转发到网络服务器上。这是一个经典的系统日志设置。它不是docker logs,而是接近。