如何在 apache nifi 中捕获公告消息
how to capture bulletin messages in apache nifi
我想知道有没有办法把Nifi上出现的bulletin messages(基本上是errors)抓取下来UI存到某个attribute/file里方便查看之后。屏幕每 5 分钟刷新一次,如果任何处理器出现故障,我想知道故障原因。
我这里不是特别在说日志部分。
如您所知,公告反映的是已记录的消息。所以所有这些内容都已经存储在 {NIFI_HOME}/logs/nifi-app.log 中。但是,如果您想直接使用公告,您有几个不同的选择。
- 您可以使用来自 REST API 的公告。有几个端点可用于访问公告。
http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
该请求将获取指定进程组下所有组件的状态(包括公告)。您可以为根级进程组使用别名 'root'。递归标志将指示 return 只是该进程组的子进程还是所有后代组件。
http[s]://{host}:{port}/nifi-api/controller/status
此请求将获取控制器级别组件的状态(包括公告)。这包括来自控制器服务、报告任务和 NiFi 框架本身(集群消息等)的任何报告公告。
http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
此请求将访问所有公告并支持基于过滤的组件、消息和限制公告数量returned。
- 您还可以创建一个可以访问公告存储库的报告任务实现。报告任务是一个扩展点,旨在报告此 NiFi 实例的详细信息。这将需要一些 Java 代码,但可以让您按照自己喜欢的方式报告公告。这是一个向 Ambari [1].
报告指标的示例
我想知道有没有办法把Nifi上出现的bulletin messages(基本上是errors)抓取下来UI存到某个attribute/file里方便查看之后。屏幕每 5 分钟刷新一次,如果任何处理器出现故障,我想知道故障原因。
我这里不是特别在说日志部分。
如您所知,公告反映的是已记录的消息。所以所有这些内容都已经存储在 {NIFI_HOME}/logs/nifi-app.log 中。但是,如果您想直接使用公告,您有几个不同的选择。
- 您可以使用来自 REST API 的公告。有几个端点可用于访问公告。
http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
该请求将获取指定进程组下所有组件的状态(包括公告)。您可以为根级进程组使用别名 'root'。递归标志将指示 return 只是该进程组的子进程还是所有后代组件。
http[s]://{host}:{port}/nifi-api/controller/status
此请求将获取控制器级别组件的状态(包括公告)。这包括来自控制器服务、报告任务和 NiFi 框架本身(集群消息等)的任何报告公告。
http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
此请求将访问所有公告并支持基于过滤的组件、消息和限制公告数量returned。
- 您还可以创建一个可以访问公告存储库的报告任务实现。报告任务是一个扩展点,旨在报告此 NiFi 实例的详细信息。这将需要一些 Java 代码,但可以让您按照自己喜欢的方式报告公告。这是一个向 Ambari [1]. 报告指标的示例