我想从业务角度监控Nifi中的流文件。
因此,我使用python脚本添加了executescript处理器,该脚本创建了消息,并在每个处理器之后将其推送到elasticsearch中。
我想要此执行脚本处理器的父处理器名称或ID,以便我继续在流文件中追加内容,这将使该流文件通过哪个阶段/处理器,并可以在ELK中对其进行监视。
答案 0 :(得分:2)
我认为监视FlowFiles的最佳方法是使用“来源”日志。您还可以使用另一个NiFi实例和S2S将这些日志导出到ELK。
无论如何,如果要使用REST API获取连接源/目标的处理器名称,则可以在浏览进程组的连接时获取它。 示例:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<div class="modal fade" id="quit_Modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btnClose" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-danger">Button</button>
</div>
</div>
</div>
</div>
您将获得一系列连接。在连接对象中,您将在路径/nifi-api/process-groups/{processGroupId}/connections/
中获得源的名称。目的地也一样。
编辑:
要使用出处日志,您需要执行以下操作:
component/source/name
处理器将日志发送到ElasticSearch。效果最好,将帮助您最好地监视FlowFiles:)