You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分Spring Boot API的Prometheus 2xx状态码细分指标?

按具体HTTP状态码获取Prometheus独立指标的实现方法

当然可以实现。Spring Boot Actuator配合Micrometer(Prometheus的底层依赖)默认会将2xx/3xx这类状态码聚合展示,但通过简单配置就能让它输出具体的HTTP状态码指标。

核心配置

在application.yml或application.properties中添加以下配置:

YAML格式:

management:
  metrics:
    web:
      server:
        request:
          autotime:
            enabled: true
          tagging:
            status:
              cardinality: precise
        mappings:
          status:
            tags:
              enabled: true

Properties格式:

management.metrics.web.server.request.autotime.enabled=true
management.metrics.web.server.request.tagging.status.cardinality=precise
management.metrics.web.server.mappings.status.tags.enabled=true

配置说明

  • management.metrics.web.server.request.tagging.status.cardinality=precise:这是关键配置,它会关闭状态码的范围聚合,让Micrometer将具体的状态码(如200、201、206)作为status标签的值输出。
  • 开启autotime是为了确保请求时长类指标正常生成,mappings.status.tags.enabled则保证状态码标签能被正确关联到对应的请求指标上。

验证效果

重启应用后,访问/actuator/prometheus,就能看到类似如下的具体状态码指标:

http_server_requests_seconds{exception="None",method="POST",status="200",uri="/myTestAPI",quantile="0.95",} 1.25
http_server_requests_seconds_count{exception="None",method="POST",status="201",uri="/myTestAPI",} 120.0
http_server_requests_seconds_sum{exception="None",method="POST",status="206",uri="/myTestAPI",} 345.67

此时你就可以分别监控每个具体HTTP状态码的请求计数、时长等指标了。

内容的提问来源于stack exchange,提问作者Sachin Mankotia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:49:59