Spring 引导执行器无法显示磁盘空间信息

Spring Boot Actuator Cannot Show diskSpace Information

我有两个 Spring 启动应用程序。我添加了 Spring Boot Actuator 两者。当我 运行 其中之一时,我可以看到 diskSpace:

{
  "status": "UP",
  "diskSpace": {
    "status": "UP",
    "total": 399055067136,
    "free": 346446485504,
    "threshold": 10485760
  }
}

然而在其他服务中我只能看到:

{
  "status": "UP"
}

即使我将 属性 添加到第二个服务中:

management:
  health:
    diskspace:
      enabled: true

我仍然看不到 diskSpace 信息。当我调试系统时,我看到这些属性被收集但没有返回到 UI。可能是什么问题?

Spring 引导执行器的 HealthIndicator 检查可用磁盘 space 并在低于可配置阈值时报告 Status#DOWN 状态。

所以在你的第二个应用程序的情况下,可用的免费 space 超过了阈值,因此你看不到任何被报告的东西。

您可能可以调试并在您的代码中查看可用磁盘值 space 和阈值。

让我知道这是否有意义...

因为只有管理员有权查看比这更多的信息

{
  "status": "UP"
}

要查看所有指标,请使用具有 spring 安全角色 ADMIN 的任何用户进行身份验证。

(不太可取的选项) 像这样禁用执行器端点的安全性

在应用程序属性中 yaml 文件

management:
   security:
      enabled: false

如果您正在使用 spring 执行器端点默认开启的安全性,您可以在您的 yml 文件中禁用它 -

management:
   security:
      enabled: false 

只需在application.properties中添加一行:

management.endpoint.health.show-details = always

这使得除授权人员以外的所有用户都可以看到健康信息。

management.security.enabled 现在 已弃用

您可以通过在 application.properties 中添加一行来获取完整的健康详细信息:

management.endpoint.health.show-details=always