我使用docker-compose 1.7.1
启动了多个容器,gelf
将所有日志发送到ELK安装。
它工作正常,但是,我们仍然在学习如何使用整个设置,在docker标准输出中查看日志非常方便(因此可以通过执行docker logs
来访问)。
所以,我的问题是:有没有办法同时使用两个驱动程序?
我尝试了这个,但忽略了第一个驱动程序:
logging:
driver: json
driver: gelf
options:
gelf-address: "udp://${ELK_HOST_IP}:12201"
您是否了解在标准输出中查看可能不涉及Docker撰写日志记录驱动程序的日志的其他方法?
谢谢!
答案 0 :(得分:1)
要保持docker logs
正常工作,您需要使用json-file
或journald
logging drivers。
使用journald驱动程序,您可以发送journal as an input for logstash或forward it via GELF。
使用默认的json-file驱动程序,您可以直接处理日志文件。 logstash有一个通用的json_lines
input可以工作,但我不知道docker现有的东西,可能是由于docker支持本机输入。
对于任何网络日志记录,通常可以将事件发送到本地转发器,该转发器既可以写入本地日志文件又可以转发到网络服务器上。这是一个经典的系统日志设置。它不是docker logs
,而是接近。