Spring Boot 2 Actuator 不发布 jvm 指标

Mar*_*arc 2 java spring-boot spring-boot-actuator micrometer spring-micrometer

我正在运行 Spring Boot 2 应用程序并添加了执行器 spring boot starter 依赖项。我启用了所有 Web 端点,然后调用:

http://localhost:8080/actuator/metrics

结果是:

{
    "names": ["jdbc.connections.active", 
              "jdbc.connections.max", 
              "jdbc.connections.min", 
              "hikaricp.connections.idle", 
              "hikaricp.connections.pending", 
              "hikaricp.connections", 
              "hikaricp.connections.active", 
              "hikaricp.connections.creation", 
              "hikaricp.connections.max", 
              "hikaricp.connections.min", 
              "hikaricp.connections.usage", 
              "hikaricp.connections.timeout", 
              "hikaricp.connections.acquire"]
}
Run Code Online (Sandbox Code Playgroud)

但我缺少所有 JVM 统计信息和其他内置指标。我在这里缺少什么?我读到的所有内容都表明这些指标应该随时可用。

感谢您的任何提示。

Sir*_*r0n 5

如果这发生在其他人身上:我有一个类似的问题(除了它不是 Graphite 而是 Prometheus,而且我没有使用 Shiro)。

基本上我只有 Hikari 和 HTTP 指标,没有其他指标(没有像 GC 这样的 JVM 指标)。

在找出根本原因之前,我把头撞了几堵墙:Spring Boot Autoconfigure 中有一个 Hikari 自动配置后处理器,它急切地检索 MeterRegistry,因此所有 Metric beans 之前都没有时间初始化。

令我惊讶的是,当我在 Github 上查看这段代码时,我没有找到它。所以我把我的spring-boot-starter-parent版本从2.0.4.RELEASE改为2.1.0.RELEASE,现在一切正常。我正确地得到了所有的指标。