如何在 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 指标

spring boot监控之prometheus配置

微米高内存使用率

prometheus系列监控:jvm,mongodb,mysql,redis

最佳实践|Spring Boot 应用如何快速接入 Prometheus 监控