Skip to main content

TailFile

描述:

“跟踪”文件,或文件列表,在写入文件时从文件中提取数据。文件应该是文本的。只有在遇到新行(回车、新行字符或组合)时才会接收数据。如果跟踪文件定期“翻滚”,就像一般的日志文件,一个可选的滚动文件名模式可用于检索数据从文件翻滚,即使发生翻转NiFi不是运行时(提供数据仍然存在在重启NiFi)。通常建议将运行调度设置为几秒钟,而不是使用默认值0秒运行,因为如果调度得非常频繁,这个处理器将消耗大量资源。此时,此处理器不支持在“滚动”时压缩的文件。

标签:

tail, file, log, text, source, 跟踪, 文件, 日志, 文本

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
跟踪模式单文件
- 单文件在这种模式下,组件只会监视“文件到尾”属性中指示的一个文件。在此模式下,启动组件时文件可能不存在。
- 多文件在这种模式下,“Files to tail”属性接受正则表达式,组件将在“基本路径”中查找文件,列出组件要跟踪的文件。
使用:单个文件将只跟踪一个文件,多个文件将查找文件列表。在多种模式下,需要基本路径。
跟踪的文件在单文件模式下,跟踪文件的路径。如果是多文件模式, 在基本路径中用正则表达式查找要跟踪的文件. 如果递归设为true, 正则表达式将用于匹配从基本路径开始的路径(有关示例,请参阅其他详细信息).

支持表达式语言 (仅支持变量)
滚动文件名模式如果文件跟日志文件一样以“rolls over”结尾,则此文件名模式将用于标识已翻过的文件,以便在重新启动NiFi时,如果文件已翻过,它将能够从停止的地方继续. 该模式支持通配符*和?,还支持符号${filename},用于根据文件的名称(没有扩展名)指定模式,并假设已滚动的文件与跟踪的文件位于同一个路径中。所有文件都将使用相同的glob模式。
基础路径基本路径用于查找要跟踪的文件。使用多文件模式时需要此属性。

支持表达式语言 (仅支持变量)
初始化开始的位置文件的开始
- 开始时间从匹配滚动文件名模式的最老数据开始,然后从文件中读取以进行跟踪
- 文件的开始从文件的起始位置开始跟踪. 不会获取任何已经翻过的数据
- 当前时间 从文件的结尾的数据开始跟踪. 不会获取任何已经翻过的数据 或者要跟踪的文件中的任何数据都已经被写入.
当处理器第一次开始跟踪数据时,此属性指定组件应该从何处开始读取数据。一旦从文件中接收到数据,组件将从接收到数据的最后一点继续。
状态位本地
- 本地状态存储在本地. 集群中的每个节点将跟踪一个不同的文件.
- 远程状态位于远程资源上. 这个组件将在集群中存储状态,这样它就只能在主节点上运行,一个新的主节点可以在最后一个主节点停止的地方继续运行。
指定状态位于本地或集群以便能够适当地存储状态,以确保在重新启动NiFi时使用所有数据,而不需要复制数据
递归查找
- 是
- 否
当使用多文件模式, 此属性定义是否必须递归地列出基本路径中的文件.
查找频率10 minutes仅用于多文件模式和更改名称滚动策略. 它指定处理器在再次列出要跟踪的文件之前等待的最短时间.
最大年龄24 hours仅用于多文件模式和更改名称滚动策略. 它指定了必要的最小持续时间,不会考虑在文件中添加关于文件最后修改日期的新消息

连线:

名字描述
success所有的流文件都被路由到这条线.

读取属性:

未提供。

写入属性:

名字描述
tailfile.original.path流文件来自原始文件的路径.

状态管理:

范围描述
LOCAL, CLUSTER将状态存储在尾文件中它停止的位置,以便在重新启动时不必复制数据. 状态存储在本地或集群中,取决于<状态位>属性.

限制:

要求权限说明
读文件系统基于当前平台可访问的权限,提供相应的读取文件操作权限。

输入流要求:

组件禁止提供输入流。

系统资源考量:

未提供。