flume,taildir Source

taildir 特点

官方文档
http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#multiport-syslog-tcp-source
观察指定的文件,一旦检测到添加到每个文件中的新行,就几乎实时跟踪它们。如果正在编写新行,则此源将重试读取它们,等待写入完成。这个源是可靠的,即使拖尾文件旋转,也不会丢失数据。它定期将每个文件的最后读取位置以JSON格式写入给定位置文件。如果水槽由于某种原因停止或关闭,它可以从现有位置文件上的位置重新启动尾流。在其他用例中,该源还可以使用给定的位置文件从每个文件的任意位置开始跟踪。当指定路径上没有位置文件时,默认情况下它将从每个文件的第一行开始跟踪。文件将按修改时间顺序使用。修改时间最长的文件将首先被使用。此源不会重命名、删除或对跟踪的文件进行任何修改。目前,该源代码不支持跟踪二进制文件。它逐行读取文本文件。

简单来说:监控一个目录,可以监控文件的变化,但是不能监控子目录
在使用 taildir 时需要修改的地方是

type

组件类型名称需要为 TAILDIR
#类型
a1.sources.r1.type = TAILDIR

filegroups

	文件组,用监控多个目录,用空格隔开
	a1.sources.r1.filegroups = g1
	文件组的空格分隔列表。每个文件组表示要跟踪的一组文件

filegroups.

文件组的绝对路径。正则表达式(而不是文件系统模式)只能用于文件名
#文件组对应目录
a1.sources.r1.filegroups.g1 = /root/tmp/taildir/.*

positionFile

以JSON格式记录每个跟踪文件的inode、绝对路径和最后位置。
#记录监控过的文件已经读到哪里的文件的位置
a1.sources.r1.positionFile = /root/conf/flume/taildir_position.json

headers..

标题值,它是带有标题键的集合。可以为一个文件组指定多个头文件

skipToEnd

如果位置文件上没有写文件,是否跳过位置到EOF
#是否从结尾开始
a1.sources.r1.skipToEnd = false

fileHeader

是否添加存储绝对路径文件名的头文件。如果添加的话,把返回值改为true ,如果不返回,默认是false
#给header加监控的文件的绝对路径
a1.sources.r1.fileHeader = true

fileHeaderKey

返回文件的绝对路径
#给header设置key
a1.sources.r1.fileHeaderKey = filePath

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值