当前位置: 首页 > 知识库问答 >
问题:

为什么/健康的“readinessState”细节不同于就绪探测状态?

安聪
2023-03-14

在Spring-Boot 2.4中,我在Actuator运行状况endpoint和就绪状态探测方面遇到了这个问题。当我的一个自定义关键组件关闭时,/运行状况/就绪状态endpoint会显示DOWN/运行状况endpoint,但/运行状况readinessState详细信息仍然显示UP

为什么会这样?难道不应该也说DOWN吗?

我在网上找到的许多教程似乎都没有解决这个问题。

我的假设是:readinessState与准备度无关,它暴露了另一条信息。我希望我错了,因为这是没有意义的,我对代码的理解似乎表明了另一种情况。

更多关于我的配置:

相关节选自application.yml

management:
  endpoints:
    web:
      base-path: /
  endpoint:
    health:
      show-details: ALWAYS
      probes:
        enabled: true
      group:
        readiness:
          include: db, myCustom, diskSpace

当我使myCustom转到DOWN时,会出现以下结果:

GET /health

{
    "status": "DOWN",
    "components": {
        ...,  // other components
        "myCustom": {
            "status": "DOWN"
        },
        "readinessState": {
            "status": "UP"  // here UP
        }
    },
    "groups": [
        "liveness",
        "readiness"
    ]
}

获取/健康/准备状态

{
    "status": "DOWN",  // but here DOWN
    "components": {
        ...,  // other components
        "myCustom": {
            "status": "DOWN"
        }
    }
}

共有1个答案

郦良才
2023-03-14

就绪状态仅监视特定的健康组。需要告知您的自定义组件。

默认情况下,Spring Boot不会向这些组添加其他健康指标。

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-就绪kubernetes探测外部状态

 类似资料: