如何在 io.micrometer 中启用 DiskSpaceMetrics
Posted
技术标签:
【中文标题】如何在 io.micrometer 中启用 DiskSpaceMetrics【英文标题】:How to enable DiskSpaceMetrics in io.micrometer 【发布时间】:2021-08-14 13:33:14 【问题描述】:io.micrometer 包含磁盘空间指标(io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics),但默认情况下似乎未启用。没有指标数据。如何启用此指标以供 prometheus 使用?
【问题讨论】:
【参考方案1】:有关磁盘空间的指标作为健康端点的一部分公开,由 Spring Boot Actuator 提供(依赖关系:org.springframework.boot:spring-boot-starter-actuator
)。
可以在application.properties
文件中按如下方式启用健康端点(默认情况下应该启用):
management.endpoints.web.exposure.include=health
然后,您可以启用详细的磁盘空间信息,如下所示:
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。
Prometheus 的相同指标将在未来的 Spring Boot 版本中添加。有一个open PR 可以为此添加自动配置。同时,您可以从 PR 中获取灵感,自己配置一个 bean。
@Bean
public DiskSpaceMetrics diskSpaceMetrics()
return new DiskSpaceMetrics(new File("."));
【讨论】:
感谢您的回答。我已经看到磁盘空间是健康路线的一部分,但我想从普罗米修斯上刮下来。 我更新了指向打开 PR 的链接的答案,以将 DiskSpaceMetrics 的自动配置添加到 Spring Boot。它还没有发布。以上是关于如何在 io.micrometer 中启用 DiskSpaceMetrics的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 配置不适用于 Spring boot 2.3.0:ClassNotFoundException:io.micrometer.prometheus.HistogramFlavor
MongoDB 的 Spring Boot Micrometer 指标