Grafana 使用 http_server_requests_seconds_count 绘制每分钟的 HTTP 请求数

Posted

技术标签:

【中文标题】Grafana 使用 http_server_requests_seconds_count 绘制每分钟的 HTTP 请求数【英文标题】:Grafana graphing HTTP requests per minute with http_server_requests_seconds_count 【发布时间】:2021-05-22 17:40:19 【问题描述】:

我有一个 Spring Boot 应用程序,它使用千分尺抛出开放的度量统计信息。

对于我的每个 HTTP 端点,我可以看到以下指标,我认为它跟踪给定端点的请求数量:

http_server_requests_seconds_count

我的问题是如何在 Grafana 查询中使用它来显示每分钟调用我的端点的请求数?

我试过了

http_client_requests_seconds_count

sum(rate(http_client_requests_seconds_count[1m]))

但都不起作用。

提前致谢。

【问题讨论】:

【参考方案1】:

rate(http_client_requests_seconds_count[1m]) 会以每秒的速率为您提供您的服务收到的请求数。

但是,通过使用[1m],它只会查看最后一分钟来计算该数字,并且要求您以超过一分钟的速度收集样本。这意味着,您需要在该时间范围内收集 2 个刮痕。

increase(http_client_requests_seconds_count[1m]) 将返回该时间范围内该计数增加了多少,这可能是您想要的,尽管您仍然需要在该窗口中有 2 个数据点才能获得结果。

您可以通过其他方式完成您的结果:

increase(http_client_requests_seconds_count[2m]) / 2通过查看超过 2 分钟然后将其除以,您将获得更多数据,并且它会使尖峰变平,因此您将获得更平滑的图表。

rate(http_client_requests_seconds_count[1m]) * 60 通过将rate 乘以 60,您可以将每秒速率更改为每分钟值。

这里有一篇文章,您可以深入了解它们的计算方式以及为什么增加可能与整数值不完全一致:https://promlabs.com/blog/2021/01/29/how-exactly-does-promql-calculate-rates

【讨论】:

以上是关于Grafana 使用 http_server_requests_seconds_count 绘制每分钟的 HTTP 请求数的主要内容,如果未能解决你的问题,请参考以下文章

使用grafana-reporter发送grafana面板报告

Prometheus grafana 使用指南 —— geomap grafana-worldmap-panel 地图组件

grafana面板-使用Grafana面板

使用Zabbix+Grafana监控

grafana之Variables变量的使用

grafana扩展--饼图的使用