表达式语言中的自定义属性
除了使用流文件属性外,还可以为表达式语言定义自定义属性。定义自定义属性为处理和配置数据流提供了额外的灵活性。例如,您可以为连接、服务器和服务属性引用自定义属性。创建自定义属性后,您就可以在“ nifi.properties”文件的nifi.variable.registry.properties的字段中标识它们的位置。更新“ nifi.properties”文件并重新启动NiFi之后,便可以根据需要使用自定义属性。
使用模板
当我们使用处理器在NiFi中构建越来越复杂的数据流时,我们经常会发现我们将相同顺序的处理器串在一起以执行某些任务。这可能变得乏味且效率低下。为了解决这个问题,NiFi提供了模板的概念。可以将模板视为可重用的子流。若要进行模板,请按照下列步骤操作:
- 选择要包含在模板中的组件。我们可以选择多个组件,方法是单击第一个组件,然后在选择其他组件时按住Shift键(以包括这些组件之间的连接),或者在按住Shift键的同时在画布上的所需组件周围拖动一个框,以选择多个组件。
- 新模板图标 从操作面板中选择创建模板图标()。
- 提供模板的名称和描述(可选)。
- 点击Create按钮。
创建模板后,就可以像处理程序一样将其用作流程中的构建块。为此,我们将从模板 组件工具栏上单击模板图标()并将其拖到画布上。然后,我们可以选择要添加到画布上的模板,然后单击Add按钮。
最后,我们可以使用“模板管理”对话框来管理模板。要访问此对话框,请从“全局”菜单中选择“Templates”。从这里,我们可以看到存在哪些模板,并对模板进行筛选以找到感兴趣的模板。表格的右侧是一个图标,用于将模板导出或下载为XML文件。然后可以将其提供给其他人,以便他们可以使用您的模板。
要将模板导入您的NiFi实例,请上载范本 从“操作员”面板中选择“Upload template”图标(),单击“搜索”图标并导航到计算机上的文件。然后点击Upload按钮。现在,该模板将显示在您的表格中,您可以将其拖动
到画布上,就像创建其他模板一样。
使用模板时,需要记住一些重要注意事项:
标识为敏感属性的任何属性(例如在处理器中配置的密码)都不会添加到模板中。每次将模板添加到画布时,都必须填充这些敏感属性。
如果模板中包含的组件引用了控制器服务,则控制器服务也将添加到模板中。这意味着每次将模板添加到图形时,它将创建控制器服务的副本。
监控NiFi
当数据流过NiFi中的数据流时,了解系统的性能状况很重要,以便评估您是否需要更多的资源,并评估当前资源的运行状况。NiFi提供了一些机制来监视系统。
状态栏
“组件”工具栏下的NiFi屏幕顶部附近是一个称为状态栏的工具栏。它包含有关NiFi当前运行状况的一些重要统计信息。活动线程数量可以指示NiFi当前工作的工作强度,而“Queued”状态则指示当前在整个流中排队的流文件数量以及这些流文件的总大小。
如果NiFi实例位于群集中,我们还将在此处看到一个指示器,该指示器告诉我们群集中有多少个节点以及当前已连接多少个节点。在这种情况下,活动线程的数量和队列大小表示当前连接的所有节点的总和。
组件统计
画布上的每个处理器、进程组和远程进程组都提供有关组件已处理多少数据的若干统计信息。这些统计信息提供有关在过去五分钟中处理了多少数据的信息。这是一个滚动窗口,使我们能够看到诸如处理器已消耗的流文件数量以及处理器已发出的流文件数量之类的信息。
处理器之间的连接还公开了当前排队的项目数。
查看这些指标的历史值,以及如果将它们聚在一起,还可以了解不同节点之间的比较方式,这可能也很有价值。为了查看此信息,我们可以右键单击一个组件并选择Stats菜单项。这将向我们显示一个图表,该图表跨越自NiFi启动以来的时间,或长达24小时(以较小者为准)。通过更改属性文件中的配置,可以延长或减少此处显示的时间。
该对话框的右上角是一个下拉菜单,允许用户选择他们正在查看的指标。底部的图形允许用户选择图形的较小部分进行放大。
公告栏
除了每个组件提供的统计信息之外,用户还将想知道是否发生任何问题。尽管我们可以监视日志中是否有任何有趣的事情,但在屏幕上弹出通知会更加方便。如果处理器将任何内容记录为警告或错误,我们将在处理器的右上角看到“公告指示器”。该指示器看起来像一个便签,将在事件发生后显示五分钟。将鼠标悬停在公告上可提供有关发生的情况的信息,这样用户就不必通过筛选日志消息来找到它。如果在集群中,则公告还将指示集群中的哪个节点发出了公告。我们还可以在“处理器”的“配置”对话框的“设置”选项卡中更改将发生公告的日志级别。
如果框架发出公告,我们还将在屏幕的右上方看到一个突出显示的公告指示器。在全局菜单中是一个公告栏选项。单击此选项将带我们到公告栏,在这里我们可以看到在NiFi实例中发生的所有公告,并可以根据组件、消息等进行过滤。