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

Posted 无踪无影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下安装docker(18.3docker日志---logging driver---fluentd)相关的知识,希望对你有一定的参考价值。

前面我们学的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就可以看到相关容器的日志了

 

 

 

对于容器的日志管理方案,我们由docker logs引出了dcoker logging driver;进而学习了ELK日志处理stack,通过fluentd logging driver,我们很容易的将fluentd接入到日志管理方案中。

 

与容器监控一样,容器日志管理也是一个百花齐放的,告诉迭代的技术领域。没有最好的,只有最合适的。

 

不同的企业由不同的部署规模,有自己的管理流程,有各自的业务目标;运维团队由不同的技术背景,人员结构和工作方式,唯有保持开放的心态,多看,多学,多实践,才能构建出合适的

 

以上是关于centos7下安装docker(18.3docker日志---logging driver---fluentd)的主要内容,如果未能解决你的问题,请参考以下文章

Centos7.5安装docker(yum安装rm安装脚本安装docker)

Centos7.X通过rpm包安装Docker

centos7 安装docker

Docker容器管理--CentOS7安装docker

sh 为Linux Mint 18.3安装Docker和Docker-Compose

CentOS7安装Docker