标签: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