-1

我想访问一个 JSON 文件,该文件包含拓扑中所有苍鹭实例的所有详细信息(即 heron-ui 中显示的所有数据)。我找不到获取这些详细信息的方法。我特别在寻找背压指标。

4

2 回答 2

1

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

链接到文档

否则,heron-tracker 有一个很好的,或多或少有据可查的 REST-API。

链接到其余文档

但是,这些示例非常基础,很难找到所有可用的指标。

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

编辑2:如果跟踪器没有公开您需要的指标,只需修改“tmaster-sink”的配置下的配置文件“metrics_sinks.yaml”。添加您在 metricsmgr-xy JSON 文件(见下文)但不在 REST-API 中找到的指标。

您可以查看 .herondata/topologies/[cluster]/[role]/[topology-name] 中的日志。在那里您可以找到名为“metrics.json.metricsmgr-xy”的 JSON 文件。打开它们并检查感兴趣的值是否在其中(每个文件包含不同的数据,所以花点时间来探索一下)。也许使用 JSON 解析器来提高可读性(JSON Parser)。然后您搜索您的指标名称(例如 __jvm-memory-mb-total)并构建您的跟踪器请求,例如(在我的 localhost、默认环境、本地集群上本地运行跟踪器)

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

不要忽略下划线“__”。

不过,根据您真正需要背压信息的目的,您可能会或可能不会找到相关指标。到目前为止,我还没有通过 REST-api 获得日志中列出的所有指标,仍然在弄清楚......

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

编辑2:如果跟踪器没有公开您需要的指标,只需修改“tmaster-sink”的配置下的配置文件“metrics_sinks.yaml”。添加您在 metricsmgr-xy JSON 文件(见下文)但不在 REST-API 中找到的指标。

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

于 2019-11-15T09:25:05.170 回答
0

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

举些例子,

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

获取过去 3 小时的指标 __complete-latency 的值: http://HERONUI-SERVICE/topologies/metrics?cluster=CLUSTER&environ=ENV&topology=TOPOLOGY&component=COMPONENT&metricname=__complete-latency/default&interval=10800

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

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

于 2019-11-15T21:26:09.990 回答