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

时间:2019-03-30 13:01:40

标签: apache-nifi

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

请帮助我解决这个问题。预先感谢!

3 个答案:

答案 0 :(得分:2)

有两种方法可以解决此问题。一种是将故障关系从处理器路由到PutEmail处理器,该处理器可以发送有关错误的警报。另一种方法是当错误队列中有一定数量的流文件时,使用自定义报告任务来提醒监视服务。

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

答案 1 :(得分:1)

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

https://link.medium.com/L6IY1wTimV

答案 2 :(得分:0)

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

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