首页 > 解决方案 > 如何获取 Flink 中所有并行度的指标?

问题描述

在 flink web UI 中,我可以获得每个并行度的指标,

对于并行度 0,它喜欢:

0_filter_numberOfRecords in 

对于并行度 9,它喜欢:

9_filter_numberOfRecords in 

如何获得所有并行度的相同度量?

标签: apache-flinkflink-streaming

解决方案


您可以通过直接查询 Flink 的 REST 端点来获取聚合的指标。您需要以下信息:

  1. 作业 ID jobId,标识您要查询的操作员所属的作业
  2. vertexId标识要从中检索指标的运算符的顶点 ID

jobId可以通过查询获得http://flink_cluster:port/jobs

vertexId可以通过查询为http://flink_cluster:port/jobs/:jobId您提供作业信息(具有顶点 ID 的运算符列表)来获得。

获得所需的 ID 后,您可以向以下位置发送 GET 请求:

http://flink_cluster:port/jobs/:jobId/vertices/:vertexId/subtasks/metrics?get=filter.numberOfRecords

请用各自的ID替换:jobId和。:vertexId

如果要聚合子任务的子范围内的指标,则可以将请求更改subtasks/metrics?get=filter.numberOfRecords&subtasks=0-1,4-5为以指定要包含在聚合中的子任务。


推荐阅读