【问题标题】:Metrics endpoint isn't available since Spring Boot 2.0.2-RELEASE自 Spring Boot 2.0.2-RELEASE 起,Metrics 端点不可用
【发布时间】:2019-03-16 15:38:35
【问题描述】:

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

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>
    ....

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

【问题讨论】:

  • 看来你的配置格式不对,能不能把上面的配置改成yml格式。我的意思是管理:端点:网络:曝光:包括:*带有适当的空格?

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


【解决方案1】:

我做了一个类似的样本。我的application.yml是这样的。

【讨论】:

    【解决方案2】:

    最后我发现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);
        }
    

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

    【讨论】:

      猜你喜欢
      • 2018-10-22
      • 2018-10-30
      • 2018-11-12
      • 1970-01-01
      • 2018-12-14
      • 2018-10-28
      • 1970-01-01
      • 2021-09-30
      • 2018-06-18
      相关资源
      最近更新 更多