从 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/