Docker syslog驱动程序没有删除到远程syslog-server

时间:2016-01-07 11:11:57

标签: logging docker syslog

目标是将日志从docker容器发送到现有的集中式远程syslog服务器。远程系统日志服务器与elk堆栈(Elasticsearch,Logstash和Kibana)连接,从中可以浏览日志消息。

容器以(这是一个例子)

启动
$ docker run  --rm --log-driver=syslog 
  --log-opt syslog-address=udp://123.1.2.34:514 
  --log-opt tag="docker-container"
  --log-opt syslog-facility=user 
  ubuntu echo "this message never appears in the remote syslog"

远程系统日志中没有任何内容!

但是,可以通过实用程序记录器

传递消息
$ logger -i --udp 
 --tag testtag --server 123.1.2.34 
 --port 514 this message is received and appears :)

使用wireshark我们能够提取原始系统日志消息:

Logger Syslog消息 - 确定

"USER.NOTICE: 1 2016-01-07T10:47:19.115387+01:00 Ikaros testtag 10354 - [timeQuality tzKnown="1" isSynced="0"] this message is received and appears :)"

Docker log_driver = syslog消息 - 失败

"USER.INFO: 2016-01-07T11:25:57+01:00 Ikaros docker/docker-containe[823]: this message never appears in the remote syslog\n" 

唯一的区别似乎是时间戳之前的数字“1”,时间戳格式 timeQuality 参数。

Dockers日志记录文档https://docs.docker.com/engine/reference/logging/overview/未提及这些参数。是否可以配置docker syslog格式以匹配从实用程序记录器创建的格式?

0 个答案:

没有答案