PromQL:我想计算按状态代码分组的特定时间段的总 http 调用

PromQL: I want to calculate total http calls for specific time period grouped by status code

我们遇到了一个事件,我想获取在特定时间段内按状态代码分组的特定端点的 HTTP 请求总数。比如我想知道有多少个500响应码,200个响应码,400个响应码等等。

我有如下查询:

sum by (status_code) (sum_over_time(http_requests_total{namespace="prod" , path="/register"}[3h20m]))

我不知道如何让它忽略事件前后发生的计数。这可能吗

只需将 sum_over_time() 替换为 increase(), because http_requests_total is a counter metric

例如,以下查询应 return 在过去 3 小时 20 分钟内 namespace="prod"/register 路径的请求数 status_code

sum by (status_code) (
  increase(http_requests_total{namespace="prod" , path="/register"}[3h20m])
)