我想记录某些 NiFi 处理器发生故障的原因。但我看到它可能有多种原因。
SplitAvroJson 处理器的示例:“如果 FlowFile 由于任何原因无法处理(例如,FlowFile 不是有效的 Avro),它将被路由到此关系”
是否有可能获得我失败的确切原因以便将其保存在例如放置文件中?
先感谢您。
我想记录某些 NiFi 处理器发生故障的原因。但我看到它可能有多种原因。
SplitAvroJson 处理器的示例:“如果 FlowFile 由于任何原因无法处理(例如,FlowFile 不是有效的 Avro),它将被路由到此关系”
是否有可能获得我失败的确切原因以便将其保存在例如放置文件中?
先感谢您。
大多数处理器会将错误记录到 nifi-app.log。对于 SplitAvro 的示例,它在此处执行此操作:
此错误消息也将作为 SplitAvro 处理器上的公告在 NiFi UI 中可见。
这是否实现了您正在寻找的东西?
我有一个类似的问题,我认为这篇文章可能会对你有所帮助。
您有几个不同的选项可以使用 rest api 来使用公告消息:
1) http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
该请求将获取指定进程组下所有组件的状态(包括公告)。您可以为根级别进程组使用别名“root”。递归标志将指示是否仅返回该进程组的子级或所有后代组件。
2) http[s]://{host}:{port}/nifi-api/controller/status
此请求将获取控制器级别组件的状态(包括公告)。这包括来自控制器服务、报告任务和 NiFi 框架本身(集群消息等)的任何报告的公告。
3) http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
此请求将访问所有公告并支持基于过滤的组件、消息和限制返回的公告数量。