1

在 Spring-Boot 2.4 中,Actuator 健康端点和就绪探测存在这个问题。当我的自定义关键组件之一关闭时,/health/readiness端点说DOWN/health端点也是,但细节readinessState仍然/healthUP

为什么会这样?也不应该readinessStateDOWN

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

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


更多关于我的配置:

相关摘录自application.yml

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

当我做myCustomgo时DOWN,会出现以下结果:

GET /health

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

GET /health/readiness

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

1 回答 1

4

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

默认情况下,Spring Boot 不会将其他 Health Indicators 添加到这些组中。

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-kubernetes-probes-external-state

于 2021-02-01T09:58:40.970 回答