fluentd官网:http://www.fluentd.org/
1、指定docker日志类型为json-log
启动docker容器:
docker run -d -P --name=myweb1 --log-driver=json-file 192.168.238.129:5000/myweb:v4
查看日志文件路径:
docker inspect myweb1
找到结果如下:
"LogPath": "/var/lib/docker/containers/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143-json.log",
配置fluentd:
vi /etc/td-agent/td-agent.conf
添加如下(输出到标准输出,实际可以到Elasticsearch):
<source>
@type tail
format json
path /var/lib/docker/containers/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143-json.log
pos_file /var/log/td-agent/docker.containers.myweb1.pos
tag docker.containers.myweb1
</source>
<match docker.*.*>
@type stdout
</match>
备注:查看docker容器日志文件fluentd是否有读权限,没有的话先给文件目录及文件赋予r权限
重启fluentd,并查看日志文件/var/log/td-agent/td-agent.log
如果有如下内容,则表示配置成功,可以重启容器看看是否日志有变化:
following tail of /var/lib/docker/containers/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143/0d8f17b89b934b6a2edd6c7f4f75ab7fd6935b4eae1ae44350567663c6a07143-json.log
2、指定docker日志类型为fluentd(推荐)
启动docker容器:
docker run -d -P --name=myweb2 --log-driver=fluentd --log-opt fluentd-tag=docker.{{.Name}} 192.168.238.129:5000/myweb:v4
配置fluentd:
vi /etc/td-agent/td-agent.conf
添加如下(输出到标准输出,实际可以到Elasticsearch)
<match docker.myweb2>
@type stdout
</match>
重启fluentd,并查看日志文件/var/log/td-agent/td-agent.log
重启容器看看是否日志有变化
至此,两种方式完成docker日志归集配置完成。
fluentd 归集docker 日志
猜你喜欢
转载自likit.iteye.com/blog/2323025
今日推荐
周排行