简单的安装了fluentd,然后测试了一个简单的服务,需要注意的是配置
/etc/td-agent/in_docker.conf
这个文件的时候,match 直接写成*
,就代表匹配所有的数据。
安装fluentd
#在线下载安装脚本
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
常用命令
# 支持命令
/etc/init.d/td-agent start
/etc/init.d/td-agent stop
/etc/init.d/td-agent restart
/etc/init.d/td-agent status
配置
#编辑配置文件
vim /etc/td-agent/in_docker.conf
<source>
type forward
port 24224
bind 0.0.0.0
</source>
<match *>
type stdout
</match>
##启动服务
cd /opt/td-agent/embedded/bin/
./fluentd -c /etc/td-agent/in_docker.conf
运行一个容器测试
# 运行docker容器,可以看fluentd打印信息
#--log-driver=fluentd 日志处理是fluentd 的driver
#--log-opt fluentd-async-connect 这个表示 fluentd挂了,docker服务仍然照常。
docker run --name test02 --log-driver=fluentd --log-opt fluentd-async-connect imekaku/simple-web echo "Hello Fluentd"
运行完事后,可以看到我们的fluentd打印了数据
常见问题
[warn]: no patterns matched tag=“d2bc7f349926”
导致这个问题的原因是fluentd 的配置文件的不匹配导致的,换成*即可
新的配置文件,可以看到matcher直接是*
,而不是*.*
的了.