Fluentd采集示例
Fluentd通过读取配置文件来加载各插件,日志经由各插件的处理完成输入到输出的整个路由。
本文通过一个最简单的示例来说明配置文件的结构。td-agent.conf
默认位于/etc/td-agent/
下,先来看一下配置文件:
<source>
@type tail
@id input_tail
<parse>
@type none
</parse>
path /tmp/txt.log # 监控的日志文件路径
tag td.apache.access # 这个相当于日志标签
</source>
<match td.**> # 获取指定日志标签的日志数据
@type stdout
@id output_stdout
</match>
本例实现的功能是:通过tail的方式跟踪日志文件/tmp/txt.log,将其输出到控制台终端。
在<source>
中指定了输入插件input_tail,在<match>
中指定了输出插件out_stdout (调试中经常使用此插件)。为了识别日志格式,input_tail插件需要设置一个Parser插件,通过将parser.type设置为none,告诉td-agent日志为单列文本。
由于td-agent是以daemon的形式运行在后台,我们在标准输出并不能看到采集到的日志。需要到td-agent的日志文件中去查看,默认的日志文件为/var/log/td-agent/td-agent.log。
我们向txt.log中追加一条记录,并跟踪td-agent.log,看日志是否采集成功。
tail -f /var/log/td-agent/td-agent.log
echo "hello 1" >> /tmp/txt.log
可以看到td-agent.log打印出了这条日志。
2020-11-03 14:15:22.350148093 +0800 td.apache.access: {"message":"hello 1"}