如何使用 Prometheus 指标监控 Grafana 中的 Flink 背压

Jac*_*uck 2 grafana apache-flink prometheus flink-streaming

Flink Web UI 有一个出色的背压部分。但我看不到 Prometheus 记者给出的任何指标,这些指标可用于以与 Grafana 仪表板相同的方式检测背压。

在此输入图像描述 有没有办法在 Flink Web UI 之外获取相同的指标?使用此处描述的指标https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/metrics.html。或者甚至有一个 prometheus scraper 来抓取 web api?

Dav*_*son 5

Flink 仪表板中显示的背压监控未使用指标系统,因此这些值无法通过 MetricsReporter 获得。但您可以通过REST api访问此信息:

/jobs/:jobid/vertices/:vertexid/backpressure
Run Code Online (Sandbox Code Playgroud)

虽然这种背压检测机制很有用,但它确实有其局限性。它通过调用 Thread.getStackTrace() 来工作,这是昂贵的,并且某些运算符(例如 AsyncFunction)在未采样的线程中执行关键活动。

研究背压的另一种方法是在 flink-conf.yaml 中设置此配置选项

taskmanager.network.detailed-metrics: true
Run Code Online (Sandbox Code Playgroud)

然后您可以查看测量入站/出站网络队列长度的指标。