Apache nifi 当多个nifi应用程序正在运行时,如何从特定于我的应用程序的nifi日志中获取错误

Apache nifi 当多个nifi应用程序正在运行时,如何从特定于我的应用程序的nifi日志中获取错误,apache-nifi,Apache Nifi,我们有多个团队nifi应用程序在同一台nifi机器上运行。。。是否有任何方法记录特定于我的应用程序的日志?此外,默认情况下,nifi-app.log文件很难跟踪问题,公告栏仅在5分钟内显示错误消息。。。如何在Nifi中捕获错误并发送邮件警报 请帮我渡过难关。提前谢谢 有几种方法可以解决这个问题。一种是将故障关系从处理器路由到putmail处理器,该处理器可以发送错误警报。另一种方法是使用自定义报告任务在错误队列中存在一定数量的流文件时向监控服务发出警报 最后,我们听说在多租户环境中,日志解析很困

我们有多个团队nifi应用程序在同一台nifi机器上运行。。。是否有任何方法记录特定于我的应用程序的日志?此外,默认情况下,nifi-app.log文件很难跟踪问题,公告栏仅在5分钟内显示错误消息。。。如何在Nifi中捕获错误并发送邮件警报


请帮我渡过难关。提前谢谢

有几种方法可以解决这个问题。一种是将故障关系从处理器路由到
putmail
处理器,该处理器可以发送错误警报。另一种方法是使用自定义报告任务在错误队列中存在一定数量的流文件时向监控服务发出警报


最后,我们听说在多租户环境中,日志解析很困难。虽然NiFi旨在通过提供数据来源功能来减少或完全消除目视检查日志的需要,但如果确实需要检查日志,我们建议按处理器ID搜索日志以隔离相关消息。如果需要,您还可以使用NiFi本身接收这些相同的日志并执行解析和过滤活动。未来的版本可能会改善这种体验

通过解析nifi日志,您可以使用处理器组id和nifi Rest API分离特定于团队应用程序的日志。查看以下链接,了解nifi模板和python代码,以解决此问题:


您可以将处理器组中的所有错误发送到同一处理器,它可以是常规更新属性或自定义处理器,该处理器将添加路径和所有相关信息,然后将其发送到常规错误/日志流,该流将检查流文件中有关错误的信息,并将决定是否发送电子邮件、发送给谁以及这类事情。
使用这种方法,系统将保持简单和内部NiFi,因此您不需要添加更多的复杂性层,并且您将只有一个处理器来管理每个进程组的错误


这就是我们公司管理错误的方式。

这里您似乎有两个问题。如果您有多个问题,请为每个问题创建一个单独的帖子。感谢Andy的回复。我们使用电子邮件。有多个故障转移场景,因此,在每个地方,我们都在使用这个邮件处理器。例如,如果我们有200个处理器,大约40个处理器是putEmail处理器…是否有机会将这些处理器组合成一个带有参数化值的
putEmail
?同样,要参数化putEmail,我们必须使用40 update属性或任何其他处理器来参数化输入(putEmail中的邮件正文)我想如果每条信息都必须是唯一的,但我认为使用表达式语言可能有机会减少这个数字。您可能需要与供应商签订专业服务合同。感谢Karthi keyan。我将导入此模板并在我的nifi机器中检查此模板,并让您知道它适用于我的团队应用程序。。。我给了根处理器组,并且能够跟踪与我的应用程序中所有处理器相关的日志,但是我们也有控制器服务,因此我认为我们还需要使用一个rest API来跟踪控制器服务。。。非常感谢KarthikGood知道。是的,要跟踪控制器服务,您需要在给定模板的现有python代码中使用下面的RESTAPI<代码>http://localhost:8080/nifi-api/控制器服务/{id}