使用prometheus按异常计数列出前K个端点



我使用的是spring-boot2.x&使用千分尺将入站http请求度量记录到PrometheusMeterRegistry。

弹簧引导指标执行器端点显示的指标如下

http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v2/endpoint1",} 272.0http_server_requests_seconds_count{exception="SomeException",method="GET",status="400",uri="/v2/endpoint1",} 8.0http_server_requests_seconds_count{exception="SomeOtherException",method="GET",status="422",uri="/v2/endpoint1",} 5.0http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v2/endpoint2",} 472.0http_server_requests_seconds_count{exception="SomeException",method="GET",status="400",uri="/v2/endpoint2",} 11.0http_server_requests_seconds_count{exception="SomeOtherException",method="GET",status="422",uri="/v2/endpoint2",} 7.0

我对以下结果感兴趣

输出:(最后x分钟前10名(

1, /v2/endpoint2, {actual count of non 200 status codes in last minutes or so}
2, /v2/endpoint1, {actual count of non 200 status codes in last minutes or so}

我尝试了一个类似于下面的计数函数。但是,它不允许我提供时间范围。我不能像上面提到的那样让它工作。感谢在这方面的任何帮助。

count(http_server_requests_seconds_count{status!="200"}) by (uri, method)

您想要获得每个uri/方法的总数,然后选择其中前10个:

topk(10,
sum by (uri, method)(
increase(http_server_requests_seconds_count{status!="200"}[10m])
)
)

相关内容

  • 没有找到相关文章

最新更新