6

我想记录某些 NiFi 处理器发生故障的原因。但我看到它可能有多种原因。

SplitAvroJson 处理器的示例:“如果 FlowFile 由于任何原因无法处理(例如,FlowFile 不是有效的 Avro),它将被路由到此关系

是否有可能获得我失败的确切原因以便将其保存在例如放置文件中?

先感谢您。

4

2 回答 2

3

大多数处理器会将错误记录到 nifi-app.log。对于 SplitAvro 的示例,它在此处执行此操作:

https://github.com/apache/nifi/blob/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-avro-bundle/nifi-avro-processors/src/main/java/org/apache/nifi/processors/avro/ SplitAvro.java#L206

此错误消息也将作为 SplitAvro 处理器上的公告在 NiFi UI 中可见。

这是否实现了您正在寻找的东西?

于 2016-04-27T14:18:43.600 回答
2

我有一个类似的问题,我认为这篇文章可能会对你有所帮助。

您有几个不同的选项可以使用 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}

此请求将访问所有公告并支持基于过滤的组件、消息和限制返回的公告数量。

于 2016-05-26T14:08:30.773 回答