SpringBoot - Grafana 仪表板的 HTTP 响应状态代码的指标

SpringBoot - Metrics for HTTP response status code for Grafana dashboard

关于 Spring 引导的小问题,请问如何获取 http 响应状态代码并将其显示到 Grafana 中。

设置:一个 Java Spring2.5.1 的启动应用程序(与任何 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}}: