Docker syslog驱动程序不能删除到远程syslog-server

目标是将日志从Docker容器发送到现有的集中式远程系统日志服务器。 远程系统日志服务器连接了一个可以浏览日志消息的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" 

没有出现在远程系统日志!

但是可以通过实用程序logging器传递消息

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

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

logging器系统日志消息 – 确定

 "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/没有提到这些参数。 是否可以configurationdocker系统日志格式以匹配从实用工具logging器创build的?