2.5.6
我正在使用带有版本和springfox-boot-starter
版本的Spring Boot 项目3.0.0
。我的项目还包括一个WebSecurityConfig
扩展WebSecurityConfigurerAdapter并实现WebMvcConfigurer的类。但是,我面临的问题是指标在端点jvm_memory_usage_after_gc_percent
中不可见/actuator/metrics
。
我们也不能删除“springfox-boot-starter”,因为我们的应用程序中需要 swagger。
为了在 /actuator/metrics 端点中启用 jvm_memory_usage_after_gc_percent 指标,我尝试添加以下依赖项:
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId>
</dependency>
我还将 application.yml 配置更新为:
management:metrics:enable:jvm: trueall: trueexport:prometheus:enabled: trueendpoints:web:exposure:include: "*"cors:allowed-methods: GET,POSTallowed-origins: ${ALLOWED_ORIGINS:https://abc-xyz.rst.netendpoint:shutdown:enabled: truemetrics:enabled: true
springfox:documentation:swagger-ui:enabled: truesecurity:enabled: true
尽管进行了这些更改,但jvm_memory_usage_after_gc_percent
指标仍然不可见。
经过排查发现是jvm.memory.usage.after.gc
其中的一部分JvmHeapPressureMetrics
,在使用的 Spring Boot 版本中默认情况下未注册。
手动将其注册为一个 bean。
@Bean
public JvmHeapPressureMetrics jvmHeapPressureMetrics() {return new JvmHeapPressureMetrics();
}
此注册已在 Spring Boot 2.6.0 版本中添加。