【发布时间】:2018-01-09 23:19:52
【问题描述】:
在 Nifi 1.4.0 中,为了从脚本报告任务中访问计数器,您可以执行以下操作:
context.eventAccess.controllerStatus.processGroupStatus.each { pg ->
pg.processorStatus.each { ps ->
ps.counters.each { counter
System.out.println("${counter.key} -> ${counter.value})
}
}
那是因为 ProcessorStatus API 暴露了:
Map<String,Long> getCounters()
但是,我使用的是 NiFi 1.2.0。
ProcessorReportingTask 类没有这个方法。
我正在拼命寻找一种从 ReportingTask 访问计数器的方法(因此,通过 ReportingContext,因为这是脚本中绑定的内容)。
因为我的 ReportingTask 正在向我们的石墨服务器报告指标。
有什么想法吗?
我知道我可以通过 REST API 访问指标。 但随后我将完全放弃我的 ScriptedReporingTask 的目标,并且我需要设置一个额外的软件来从外部收集这些指标。而 ReponrtingTask 只会从 NiFi 系统运行。
【问题讨论】:
标签: groovy apache-nifi