使用 Prometheus 测量服务延迟

Posted

技术标签:

【中文标题】使用 Prometheus 测量服务延迟【英文标题】:Measure service latency with Prometheus 【发布时间】:2018-04-28 13:27:50 【问题描述】:

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

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

我需要能够分析最后几分钟/几小时/几天的服务延迟。我发现的当前实现是一个简单的 Summary(没有定义分位数),每 15 秒抓取一次。

    是否可以从我的 Prometheus 总结中获得最后一分钟的平均请求延迟? 如果是:如何?如果否:我该怎么办?

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

rate(http_response_time_sumapplication="myapp",handler="myHandler", status="200"[1m])
/
rate(http_response_time_countapplication="myapp",handler="myHandler", status="200"[1m])

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

(我使用的是spring-client)。

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢!这意味着计算的值得到更多的权重;-)

以上是关于使用 Prometheus 测量服务延迟的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus+Grafana可视化监控MySQL

轻松搭建Prometheus监控容器服务

“prometheus-operated”服务是做啥的?

prometheus部署

prometheus部署

使用 Prometheus 在 K8s 服务端点上测量 40 倍和 50 倍的错误?