002- Flume Source之TailDir
Posted BearData
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002- Flume Source之TailDir相关的知识,希望对你有一定的参考价值。
Flume Taildir Source是用来监控指定的文件。即使在文件递归的时候,这种方式可靠并且不会丢失数据。它会定期的读取每个文件上一次的读取位置,位置信息以json的形式存储,如果Flume停止了或者由于其他原因宕掉了,等到下次重启的时候还会在JSON中记录的位置开始读取。
一,属性说明
二,配置内容
a1.sources = r1
a1.channels = c1
a1.sinks = s1
a1.sources.r1.type = TAILDIR
a1.sources.r1.channels = c1
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json
a1.sources.r1.filegroups = f1 f2
a1.sources.r1.filegroups.f1 = /var/log/test1/example.log
a1.sources.r1.headers.f1.headerKey1 = value1
a1.sources.r1.filegroups.f2 = /var/log/test2/.*log.*
a1.sources.r1.headers.f2.headerKey1 = value2
a1.sources.r1.headers.f2.headerKey2 = value2-2
a1.sources.r1.fileHeader = true
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.sinks.s1.type = logger
#./bin/flume-ng agent -c ./conf -f ./conf/taildir.conf -n a1 -Dflume.root.logger=INFO,console
三,测试
向example.log中写入字符串
可以看到,在Flume控制台输出了写入的内容,我们的sink定义的是控制台
向其他目录的文件中发数据
同样我们在控制台看到输出数据
最后我们来看一下生成JSON文件
[{"inode":3018506,"pos":15,"file":"/var/log/test1/example.log"},{"inode":3018507,"pos":27,"file":"/var/log/test2/a.log"},{"inode":3018508,"pos":0,"file":"/var/log/test2/b.log"}]
以上就是TailDir Source的介绍,下一篇我们将介绍Http Soure。
长按二维码,关注BearData
以上是关于002- Flume Source之TailDir的主要内容,如果未能解决你的问题,请参考以下文章