简介
假如当下有个需求
要采集服务器的/root/logs/test1/a.log文件中的内容以及/root/logs/test2文件夹中的所有的*.log*文件的内容,该如何实现(同时采集文件以及文件夹的内容)
在flume1.6以及之前,我们在配置文件中只要设置两个source即可,一个spooldir source和一个exec source,在flume1.6之后,考虑到这种情况,flume的开发人员新增了一种全新的组件tailDir Source.
该组件的作用就是可以只指定一个source,同时去采集不同目录下的文件或者文件夹中的内容,该组件支持断点续传的功能
用法
属性:
type=TAILDIR //指定source的类型
filegroups = f1 f2 //指定taildir组件监听的组
filegroups.f1=/root/logs/test1/a.log //指定监听组中的每个成员的监听路径
filegroups.f2=/root/logs/test/*.log*
positionFile = /root/logs/flume/taildir_position.json //配置检车点文件的路径,检车点文件会以json格式保存在已经tail文件的最后读取的位置,下次直接从该位置开始读取,实现了断点续传功能