Taildir Source
Note This source is provided as a preview feature. It does not work on Windows.
监视指定的一些文件, 将近实时的tail 这些文件获取这些文件的新追加的行, 如果这些行正在写入的话, 它会等待写入操作完成。 这个source是可靠的 and will not miss data even when the tailing files rotate(不知道rotate的含义),它定义的以JSON的格式写入每个文件最后一个读取的位置。如果Flume由于某种原因挂了,它可以从该位置重新开始。 在其他使用情况下 ,该source还可以在每个文件的指定位置开始tail
。没有指定开始位置时,默认情况下,它将从每个文件的第一行开始tail
。 文件将按其修改时间的顺序使用。 将优先使用具有最早修改时间的文件。 此source不会重命名或删除或对被tail
过的文件执行任何修改。 目前这个source不支持拖尾二进制文件。 它逐行读取文本文件。
a1.sources = r1
a1.channels = c1
#source的类型为TAILDIR
a1.sources.r1.type = TAILDIR
a1.sources.r1.channels = c1
#存储tial最后一个位置存储位置
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json
#设置这要tiail的组, 使用空格隔开
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
#Whether to add a header storing the absolute path filename
a1.sources.r1.fileHeader = true