Spring Boot 执行器端点 /prometheus 未列出与 tomcat 相关的指标,例如请求计数

Posted

技术标签:

【中文标题】Spring Boot 执行器端点 /prometheus 未列出与 tomcat 相关的指标,例如请求计数【英文标题】:Spring Boot actuator endpoint /prometheus doesn't list the tomcat related metrics, like request count 【发布时间】:2021-09-14 02:39:23 【问题描述】:

Spring Boot 执行器端点 /prometheus 没有列出与 tomcat 相关的指标,例如请求计数。但它有 http_server_requests_seconds_counthttp_server_requests_seconds_max 这样的指标。

端点 /actuator/metrics/http.server.requests 返回请求计数指标 -

"measurements": [
    
        "statistic": "COUNT",
        "value": 268.0
    ,
    
        "statistic": "TOTAL_TIME",
        "value": 6.888039926
    ,
    
        "statistic": "MAX",
        "value": 0.002780578
    
]

我们使用的是 Spring Boot 2.x,执行器依赖定义为 -

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

有什么遗漏吗?

【问题讨论】:

【参考方案1】:

你 need to 启用 Tomcat 的 MBean 注册表:

server.tomcat.mbeanregistry.enabled 必须设置为 true 才能注册所有 Tomcat 指标

【讨论】:

我在 application.properties 中使用了server.tomcat.mbeanregistry.enabled=true,仍然没有得到任何与 tomcat 相关的指标

以上是关于Spring Boot 执行器端点 /prometheus 未列出与 tomcat 相关的指标,例如请求计数的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot之执行器端点(Actuator Endpoint)实现剖析

Spring boot actuator:当其他执行器的端点受到保护时,健康端点未显示详细信息

spring boot 执行器端点映射根类

如何在 /info 执行器端点中获取 Spring Boot 的版本

Spring Boot:为执行器端点禁用 https

如何在 Spring Boot 2 中保护具有角色的执行器端点?