我想在某些NiFi处理器中记录故障原因。但我看到它可能有多种原因。
SplitAvroJson处理器的示例: “如果FlowFile因任何原因失败处理(例如,FlowFile不是有效的Avro),它将被路由到这种关系”
有没有可能得到我失败的确切原因,以便将其保存在例如put文件中?
提前谢谢你。
答案 0 :(得分:2)
大多数处理器会将错误记录到nifi-app.log。对于SplitAvro的例子,它在这里做到了:
此错误消息也会在NiFi UI中作为SplitAvro处理器上的公告显示。
这样可以实现您的目标吗?
答案 1 :(得分:2)
我有一个类似的问题,我认为这篇文章可能有助于你。
这里有几个不同的选项可以使用其余的api消费公告消息:
1) http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
此请求将获取指定Process Group下所有组件的状态(包括公告)。您可以将别名“root”用于根级别Process Group。递归标志将指示是否仅返回该进程组的子节点或所有后代组件。
2) http[s]://{host}:{port}/nifi-api/controller/status
此请求将获取Controller级别组件的状态(包括公告)。这包括来自Controller Services,Reporting Tasks和NiFi Framework本身的任何报告公告(聚类消息等)。
3) http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
此请求将访问所有公告并支持基于过滤的组件,消息并限制返回的公告数。