docker启动时添加如下参数:
docker run --log-driver=fluentd --log-opt fluentd-address=ip:port --log-opt tag="tag"
其中tag可用如下参数替换,更多查看logging context.
{{.ID}} | The first 12 characters of the container ID. |
{{.FullID}} | The full container ID. |
{{.Name}} | The container name. |
{{.ImageID}} | The first 12 characters of the container’s image ID. |
{{.ImageFullID}} | The container’s full image ID. |
{{.ImageName}} | The name of the image used by the container. |
{{.DaemonName}} | The name of the docker program (docker ). |
example:
$ docker run -it --rm \
--log-driver syslog \
--log-opt tag="{{ (.ExtraAttributes nil).SOME_ENV_VAR }}" \
--log-opt env=SOME_ENV_VAR \
-e SOME_ENV_VAR=logtester.1234 \
flyinprogrammer/logtester
可以得到如下输出
Apr 1 15:22:17 ip-10-27-39-73 logtester.1234[45499]: + exec app
Apr 1 15:22:17 ip-10-27-39-73 logtester.1234[45499]: 2016-04-01 15:22:17.075416751 +0000 UTC stderr msg: 1
--log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}"
得到输出
Aug 7 18:33:19 HOSTNAME hello-world/foobar/5790672ab6a0[9103]: Hello from Docker.
全局模式
/etc/docker/daemon.json添加如下项
{
"log-driver": "fluentd",
"log-opts": {
"fluentd-address": "ip:port",
"tag": "tag"
}
}