如何将docker主机传递给fluentd日志

我使用fluentd日志驱动程序来收集我的docker群集中的日志。

我创造了stream畅的服务:

docker service create --name fluentd --network my-network \ --mount type=bind,src=/data/fluentd,dst=/fluentd/etc \ --mount type=bind,src=/data/fluentd/logs,dst=/fluentd/log \ -p 24224:24224 -p 24224:24224/udp\ -e FLUENTD_CONF=fluent.conf fluent/fluentd:v0.12; 

然后我用stream利的日志驱动程序创build了服务:

 docker service create --name service-name --network my-network \ --log-driver=fluentd --log-opt fluentd-address=123.456.789.123:24224 --log-opt tag="service-name" \ --with-registry-auth service-name; 

我的fluent.conf

 <source> @type forward port 24224 bind 0.0.0.0 </source> <match service-name> @type copy <store> path /fluentd/log/service-name.*.log @type file time_slice_format %Y.%m.%d time_slice_wait 1m time_format %Y%m%dT%H%M%S%z compress gzip format json </store> </match> 

日志文本具有以下格式:

 {"container_id":"d798ca314b54a27f8b0e9acad46879632c7fdb1796d17c6850665ca93995c717", "container_name":"/service-name.1.rrcfvwvzrn17pyyt2zi69nhag", "source":"stdout","log":"2017-10-02 00:35:59 [qtp2091640041-40] DEBUG Log message..."} 

如何添加服务器主机名巫婆容器运行到stream利的日志消息?

我试过这种方法:

1)安装docker_metadata_filter创build新的stream畅的图像。 我使用了以下Dockerfile

 FROM fluent/fluentd:v0.12-onbuild RUN apk add --update --virtual .build-deps \ sudo build-base ruby-dev \ && sudo gem install \ fluent-plugin-docker_metadata_filter \ && sudo gem sources --clear-all \ && apk del .build-deps \ && rm -rf /var/cache/apk/* \ /home/fluent/.gem/ruby/2.3.0/cache/*.gem 

2)用新的图像运行fluentd服务。

但我仍然有格式的日志

 {"container_id":"...", "container_name":"...", "source":"stdout", "log":"..."}