如何解决SpringBoot - Grafana 仪表板的 HTTP 响应状态代码的指标
关于 Spring Boot 的小问题,以及如何获取 http 响应状态码并将其显示到 Grafana 中。
设置:2.5.1 版本的 Java SpringBoot 应用程序(与任何 SpringBoot 2.x.x 相关)。该应用程序具有执行器和千分尺依赖项。应用可以很好地生成普罗米修斯指标。
我对这个仪表板非常感兴趣:https 响应状态代码。不是经过的时间,不是计数,只是 http 状态代码响应(以 200、401、503 等响应)。由于依赖关系,我看到了这些指标!
http_server_requests_seconds
因此,我首先尝试了这个:
increase(http_server_requests_seconds{_ws_="my_workspace",_ns_="my_namespace",_source_="my_source",_bucket_="+Inf"}[15m])
这似乎产生了一些东西:
我能够看到一些 http 200 和一些 http 503。但出于某种原因,我不仅看到了一个 200,而且看到了一堆似乎已经过去的时间。
我的问题是,查询不正确?为了随着时间的推移获得不同的 http 状态代码响应,最合适的查询是什么?
最重要的是,代表 HTTP 状态代码响应差异的最佳可视化仪表板是什么?
谢谢
解决方法
Grafana 将为您在 Prometheus 查询中找到的每个不同标签添加一行。当您定义一个不包含所有不同标签的图例时,您将看到具有相同图例的多行。
increase(http_server_requests_seconds_count{}[1m])
带有图例 {{status}}
:
如果您删除图例的定义,您应该能够看到所有标签以确定哪些标签会创建重复值。
increase(http_server_requests_seconds_count{}[1m])
没有图例定义:
如果您对查询进行更多限制,例如通过添加条件 {method="POST"}
,则行数也会减少:
另一种选择是汇总您的结果以消除标签。基于这个问题,您希望看到每个 HTTP 状态代码的总增加。这是我找到的一个很好的可视化方法的示例:
sum(increase(http_server_requests_seconds_count{}[1m])) by (status)
带有图例 {{status}}
:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。