Spooling Directory Source
此source允许您通过将要提取的文件放入磁盘上的“spooling”目录来提取数据。此源将监视指定目录的新文件,并在新文件显示时解析新文件中的event。event解析逻辑是可插入的。在给定文件被完全读入channel之后,它被重命名以指示完成(或可选地被删除)。
与Exec源 Source不同,此source是可靠的,并且不会丢失数据,即使Flume被重新启动或被杀死。为了换取这种可靠性,只有不可变,唯一命名的文件必须放入假脱机目录中。 Flume尝试检测这些问题条件,如果违反则会大声失败: 1.如果在放入spooling directory后写入文件,Flume会在其日志文件中打印一个错误并停止处理。 2.如果以后重新使用文件名,Flume将在其日志文件中打印一个错误并停止处理。
为了避免上述问题,向日志文件名添加唯一标识符(例如时间戳)将其移动到spooling directory中是有用的。
尽管该源的可靠性保证,仍然存在如果发生某些下游故障则event可能被复制的情况。这与其他Flume组件提供的保证一致。
#a1.channels = ch-1
a1.sources = src-1
//source的类型为spooldir
a1.sources.src-1.type = spooldir
a1.sources.src-1.channels = ch-1
//spooling directory
a1.sources.src-1.spoolDir = /var/log/apache/flumeSpool
a1.sources.src-1.fileHeader = true
向完成的文件添一个唯一标识,默认在原来文件名添加一个.COMPLETED