SpringBoot 1.5.1:health端点不显示注册的健康指标

SpringBoot 1.5.1: health endpoint does not show registered health indicators

我将 spring 引导版本从 1.4.2 升级到 1.5.1。我的应用程序依赖于 RabbitMQ。

使用版本 1.4.2 时,健康端点的输出是

{
  "status": "UP",
  "diskSpace": {
    "status": "UP",
    "total": 249779191808,
    "free": 160644202496,
    "threshold": 10485760
  },
  "rabbit": {
     "status": "UP",
     "version": "3.6.5"
  }
}

升级后,1.5.1 版本输出为

{
  "status": "UP"
}

因此,diskSpace 和 rabbit 指标不再存在。奇怪的是,在日志中,我可以找到这个:

Registering bean definition for @Bean method org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration$DiskSpaceHealthIndicatorConfiguration.diskSpaceHealthIndicatorProperties()
Registering bean definition for @Bean method org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration$RabbitHealthIndicatorConfiguration.rabbitHealthIndicator() 

甚至当我请求 /health 端点时,我也可以在日志中看到对 RabbitMq 的调用

o.s.amqp.rabbit.core.RabbitTemplate - Executing callback on RabbitMQ Channel: Cached Rabbit Channel: AMQChannel(amqp://guest@0:0:0:0:0:0:0:1:5672/,2), conn: Proxy@5292883 Shared Rabbit Connection: SimpleConnection@1aa1a795 [delegate=amqp://guest@0:0:0:0:0:0:0:1:5672/, localPort= 59527]

预计,如果我关闭 RabbitMQ 实例,响应是

{
  "status": "DOWN"
}

在我的application.yml我没有任何关于健康的配置,所以使用默认配置。

如何取回健康端点的旧输出?

您需要通过身份验证才能查看所有详细信息。 如果您希望内容在未经身份验证的情况下可用,您可以将其添加到您的属性中

management.security.enabled=false
endpoints.health.sensitive=false

更多详情Spring boot Production Ready Monitoring