springboot 2.3.0 执行器liveness/readiness 检查returns 错误响应

springboot 2.3.0 actuator liveness/readiness check returns wrong response

我正在尝试使用 spring boot 2.3.0 在本地测试 liveness/readiness。当我公开 API 时,它会 return 正确的状态,但不是正确的响应。基于 https://spring.io/blog/2020/03/25/liveness-and-readiness-probes-with-spring-boot,当我公开 /actuator/health 时,我期待组件、磁盘空间等,但我得到:

{
    "status": "UP",
    "groups": [
        "liveness",
        "readiness"
    ]
}

我很确定我的 pom.xml 是正确的,因为它 return 的状态是正确的。我认为这与配置有关。这是我的本地配置设置 (application.properties):

spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://myurl.net;database
spring.datasource.username=username
spring.datasource.password=password

management.health.probes.enabled=true
management.endpoint.health.group.readiness.include=readinessProbe,db

我错过了什么吗?即使我调用 /actuator/health/liveness,我得到的也只是

{
    "status": "UP"
}

“status”确实显示了正确的值(UP 或 DOWN),但缺少组件。

health 端点公开的信息取决于 management.endpoint.health.show-detailsmanagement.endpoint.health.show-components 属性,这些属性可以配置为以下值之一 neverwhen-authorizedalways.默认值为never.

因此,如果您将 management.endpoint.health.show-components 的值设置为 always,它应该显示您所期望的。

有关详细信息,请参阅文档 here