使用 Prometheus 测量服务延迟

Measure service latency with Prometheus

我是 Prometheus 和 Grafana 的新手。我的主要目标是获得每个请求的响应时间。

对我来说,这似乎是一件简单的事情 - 但无论我做什么,我都没有得到我需要的结果。

我需要能够分析上次 minutes/hours/days 中的服务延迟。我发现的当前实现是一个简单的摘要(没有分位数的定义),每 15 秒被抓取一次。

  1. 是否可以从我的 Prometheus SUMMARY 中获取最后一分钟的平均请求延迟?
  2. 如果是:如何?如果否:我该怎么办?

目前我正在使用以下查询:

rate(http_response_time_sum{application="myapp",handler="myHandler", status="200"}[1m])
/
rate(http_response_time_count{application="myapp",handler="myHandler", status="200"}[1m])

我得到两个“数据集”。第一个的值是“NaN”。我想这是除以零的结果。

(我正在使用 spring-客户端)。

您的查询是正确的。如果在过去一分钟内没有查询,结果将为 NaN。