我想知道是否有办法捕获出现在 Nifi UI 上的公告消息(基本上是错误)并将其存储在某个属性/文件中,以便以后查看。屏幕每 5 分钟刷新一次,如果任何处理器出现故障,我想知道原因。
我在这里不是特别谈论日志记录部分。
最佳答案
如您所知,公告反射(reflect)了已记录的消息。所以所有这些内容都已经存储在 {NIFI_HOME}/logs/nifi-app.log 中。但是,如果您想直接使用公告,您有几个不同的选择。
http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
此请求将获取指定进程组下所有组件的状态(包括公告)。您可以为根级别进程组使用别名“root”。递归标志将指示是否只返回该进程组的子进程或所有后代组件。
http[s]://{host}:{port}/nifi-api/controller/status
此请求将获取 Controller 级别组件的状态(包括公告)。这包括来自 Controller 服务、报告任务和 NiFi 框架本身(集群消息等)的任何报告公告。
http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
此请求将访问所有公告并支持基于组件、消息和限制返回公告数量的过滤。
[1] https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-ambari-bundle/nifi-ambari-reporting-task/src/main/java/org/apache/nifi/reporting/ambari/AmbariReportingTask.java
关于error-handling - 如何在 apache nifi 中捕获公告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37430915/