如何访问Heron中的背压度量(Json文件)



我想访问一个JSON文件,该文件包含拓扑中所有heron实例的所有细节(即heron ui中显示的所有数据(。我找不到了解这些细节的方法。我特别在寻找背压指标。

要访问heron ui中显示的数据,也许"heron explorer"已经足够了?

文档链接

除此之外,heron-tracker有一个不错的、或多或少有良好文档记录的REST-API。

链接到休息文档

然而,这些例子是非常基本的,要找到所有可用的指标是很有挑战性的。

编辑:找到此配置,告诉哪些指标可以通过REST-API 访问

编辑2:如果跟踪器没有公开您需要的度量,只需修改"tmaster sink"配置下的配置文件"metrics_sinks.yaml"。添加您在metricsmgr-x.y JSON文件中找到的度量(请参见下文(,但不添加REST-API中的度量。

您可以在.hordata/topologs/[cluster]/[role]/[Topolog-name]上查看日志。在那里你可以找到名为"metrics.JSON.metricsmgr-x.y"的JSON文件。打开它们,检查其中是否有感兴趣的值(每个文件都包含不同的数据,所以需要花点时间来探索它们(。为了可读性,可以使用JSON解析器(JSON解析器(。然后搜索您的度量名称(例如__jvm-memory-mb-to-tal(并构建您的跟踪器请求,例如(在本地主机、默认环境、本地集群上本地运行跟踪器(

curl "http://localhost:8888/topologies/metrics?cluster=local&environ=default&topology=WordCountStreamletTopology&component=filter1&metricname=__jvm-memory-mb-total" 

不要忽略下划线"__"。

不过,根据您真正需要的背压信息,您可能会也可能找不到相关的指标。到目前为止,我还没有通过RESTapi在日志中列出所有指标,仍然在想。。。

编辑:发现:找到这个配置,告诉哪些指标可以通过REST-API 访问

编辑2:如果跟踪器没有公开您需要的度量,只需修改"tmaster sink"配置下的配置文件"metrics_sinks.yaml"。添加您在metricsmgr-x.y JSON文件中找到的度量(请参见下文(,但不添加REST-API中的度量。

请确保正确设置了配置(请参阅配置以获取实例(。例如,设置队列的大小以避免或强制执行背压。

除了上面的答案,如果你只想找出UI中显示的所有信息,Heron UI还有所有这些信息的端点。您可以通过在浏览器中检查网络请求来找到这些端点。

例如,

要获得拓扑的逻辑规划:http://HERONUI-SERVICE/topologies/CLUSTER/ENV/TOPOLOGY/logicalplan.json

要获得过去3小时的度量__complete-latency的值:http://HERONUI-SERVICE/topologies/metrics?cluster=CLUSTER&environ=ENV&拓扑=拓扑&component=组件;metricname=__complete-latency/默认&间隔=10800

如果需要,可以添加新的端点。以下是HeronUI中所有可用端点的处理程序的源代码。

https://github.com/apache/incubator-heron/blob/master/heron/tools/ui/src/python/main.py#L74

最新更新