Fluentd 配置文件-client fluentd 到 server fluentd,使用fluentd的高可用配置方式(Fluentd High Availability Configuration)的配置方式,从各个log forwarders中收集日志发送到log aggregators。
收集到的日志并不希望放在一起,仍然希望按照以前docker容器的container_id,container_name进行分类,放入目录中。
log aggregators端配置(Fluentd服务器端)
# 安装命令 /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-file-alternative /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-forest # 配置文件/etc/td-agent/docker_in04.conf # 使用match到的tag列表的第一个(tag计数从0开始)作为目录输出 <source> type forward port 24224 bind 0.0.0.0 log_level error </source> <match docker.test*> type stdout </match> <match docker.*> type forest subtype file <template> type file_alternative path /home/lee/fluentd-log/${tag_parts[1]}/temp </template> </match>
执行命令:/opt/td-agent/embedded/bin/fluentd -c docker_in04.conf
log forwarders端(Fluentd客户端端)
# fluentd配置文件 <source> type forward log_level error port 24224 bind 0.0.0.0 </source> <match docker.*> type forward <server> host 192.168.126.136 port 24224 </server> flush_interval 10s </match> # 运行docker容器,将容器id作为tag docker run --name temp01 --log-driver=fluentd --log-opt tag="docker.{{.FullID}}" \ --log-opt fluentd-async-connect=true -d -p 8002:8000 imekaku/simple-web python /work/simple.py
在浏览器中访问该服务,其中的日志就会被log forwarders端的fluentd收集,并发送给log aggregators端的fluentd,并会按照配置文件,生成相应的目录并输出
参考链接