java - 自 Spring Boot 2.0.2-RELEASE 以来,指标端点不可用

标签 java spring spring-boot metrics spring-boot-actuator

从 Spring Boot 2.0.2-RELEASE 开始,即使使用以下配置,执行器“metrics”端点也不可用:

management:
  endpoints.web.exposure.include: "*"

相同的配置使用 Spring Boot 2.0.0-RELEASE 公开指标端点

pom.xml:

    ...
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    ...
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-core</artifactId>
    </dependency>
    ....

有什么想法可以解决这个问题吗?

最佳答案

最后我发现 Spring 上下文中应该存在一个 org.springframework.boot.actuate.metrics.MetricsEndpoint 实例,以便让 Actuator 显示“/metrics”端点。

org.springframework.boot.actuate.autoconfigure.metrics.MetricsEndpointAutoConfiguration

负责创建 MetricsEndpoint 的实例,但由于某种原因它从未创建它。

所以,我在自己的配置中创建了这个 bean:

    @Bean
    public MetricsEndpoint metricsEndpoint(MeterRegistry registry) {
        return new MetricsEndpoint(registry);
    }

它解决了问题,但我不确定这是最好的解决方案。

关于java - 自 Spring Boot 2.0.2-RELEASE 以来,指标端点不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52762021/

相关文章:

java - 计算数组中连续项的出现次数

java - 服务器端 API 中的权限检查

java - 如何为 Spring MVC 启动新项目

java - Hibernate Filter 不适用于 FindOne CRUD 操作

java - 只要有效,Spring Boot 就会在每个请求上刷新 JWT token

java - 尝试使用资源,如果未捕获抛出的异常,资源是否会清理?

java - 使用 Thymeleaf 中的变量一次设置多个标签属性

spring - Backbone.js + Spring MVC。保存模型

java - 如何在JPA Spring Boot中的嵌套对象中通过Temporal.TIMESTAMP进行查询?

java - 处理 findAll() 上的空结果 : Is there a orElseThrow() for lists?