码迷,mamicode.com
首页 > 其他好文 > 详细

centos7下安装docker(18.3docker日志---logging driver---fluentd)

时间:2017-12-01 22:06:56      阅读:545      评论:0      收藏:0      [点我收藏+]

标签:this   监控   自己   address   配置   mes   plugin   src   containe   

前面我们学的ELK中用filebeat收集docker容器日志,利用的是dcoker默认的logging driver json-file,下面我们用fluentd来收集容器日志

 

 

Fluentd是一个开源的数据收集器,他目前又超过500种的plugin,可以连接各种数据源和数据输出组件。

 

实践:

fluentd负责收集容器的日志,发送给elasticsearch,日志处理流程如下:

技术分享图片

这里我们用filebeat将fluentd收集到的日志转发给elasticsearch。这当然不是唯一的方案,fluentd有一个plugin,fluentd-plugin-elasticsearch可以直接将日志转发给elasticsearch,可以根据自己的需要选择合适的方案。

 

安装Fluentd

 docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd

技术分享图片

 

fluentd会在TCP/UDP端口24224上接收日志数据,日志将保存在Host的/data目录中

重新配置filebeat

vim /etc/filebeat/filebeat.yml,将/data目录添加到监控路径中

技术分享图片

重启filebeat

 

监控容器日志,启动测试容器

docker run -d --log-driver fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag="log-test-container-A" busybox sh -c ‘while true;do echo "this is a log message"‘

 

docker run -d --log-driver fluentd --log-opt fluentd-address=localhost:24224 技术分享图片

 

busybox sh -c ‘while true;do echo "this is a log message"‘

技术分享图片

--log-driver=fluentd告诉docker使用fluentd的logging driver

--log-opt fluentd-address=localhost:24224将容器日志发送到fluentd的数据接受端口

 --log-opt tag="log-test-container-A"和--log-opt tag="log-test-container-B"在容器中添加一个tag用于区分不同的容器

 

容器启动后在kibana就可以看到相关容器的日志了

 

centos7下安装docker(18.3docker日志---logging driver---fluentd)

标签:this   监控   自己   address   配置   mes   plugin   src   containe   

原文地址:http://www.cnblogs.com/lkun/p/7944377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!