Spring Boot 3.0.2中/liveness探针配置404问题及正确配置咨询
Spring Boot 3.0.2 Liveness探针端点404问题分析及推荐配置
为什么仅设置management.health.livenessstate.enabled=true时/actuator/health/liveness返回404?
management.health.livenessstate.enabled=true仅负责开启liveness状态指标的采集,让该状态能出现在/actuator/health的聚合响应里,但不会创建并暴露/actuator/health/liveness这个独立探针端点。- 独立的存活(liveness)、就绪(readiness)探针端点是由
management.endpoint.health.probes.enabled=true专门控制的——这个配置会同时完成两项操作:启用对应指标的采集,以及注册/actuator/health/liveness、/actuator/health/readiness这两个独立端点。 - 额外注意:即使开启了探针端点,也要确保
management.endpoints.web.exposure.include配置中包含health(默认已包含,显式设置可避免全局配置变更导致的访问问题),否则端点无法通过Web访问。
启用Liveness探针的推荐配置
根据使用场景不同,推荐两种配置方案:
场景1:需要独立的Liveness探针端点(如Kubernetes探针调用)
这是生产环境最常用的配置,完整内容如下:
# 核心开关:启用独立的存活/就绪探针端点 management.endpoint.health.probes.enabled=true # 显式暴露health端点(避免全局配置变更导致端点不可访问) management.endpoints.web.exposure.include=health # 可选:如果不需要就绪探针,关闭其指标采集 management.health.readinessstate.enabled=false
场景2:仅需在聚合健康端点中显示Liveness状态
如果不需要独立探针端点,仅希望/actuator/health响应包含liveness状态,配置如下:
# 启用liveness状态指标采集 management.health.livenessstate.enabled=true # 确保health端点被Web暴露 management.endpoints.web.exposure.include=health
内容的提问来源于stack exchange,提问作者StSch
相关产品推荐
相关产品推荐

