如何在 io.micrometer 中启用 DiskSpaceMetrics

How to enable DiskSpaceMetrics in io.micrometer

io.micrometer 包含磁盘 space 指标(io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics),但默认情况下似乎未启用。没有度量数据。我如何启用此指标以供普罗米修斯使用?

有关磁盘 space 的指标作为健康端点的一部分公开,由 Spring Boot Actuator(依赖项:org.springframework.boot:spring-boot-starter-actuator)提供。

health端点可以在application.properties文件中如下启用(默认情况下,应该启用):

management.endpoints.web.exposure.include=health

然后,您可以启用详细的磁盘space信息如下:

management.endpoint.health.show-components=always
management.endpoint.health.show-details=always
management.health.diskspace.enabled=true

在生产中,您可能希望使用 when_authorized 而不是 always,这样信息就不会公开。

最后,您可以通过 HTTP 端点查看磁盘信息 /actuator/health

official docs 中的更多信息。


将在未来的 Spring 引导版本中添加 Prometheus 的相同指标。有一个 open PR 可以为此添加自动配置。同时,您可以从 PR 中获取灵感,自己配置一个 bean。

@Bean
public DiskSpaceMetrics diskSpaceMetrics() {
    return new DiskSpaceMetrics(new File("."));
}