You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Spring Actuator存活探针后成功计数未增长,如何确认探针运行?

确认K8s存活探针与Spring Actuator健康端点的运行状态

我来给你梳理几个关键步骤,一步步排查存活探针是否通过默认Actuator健康端点正常运行:

  • 先验证Pod内部的健康端点可用性
    直接进入Pod内部发起请求,确认Actuator端点本身是正常的:

    kubectl exec <你的Pod名称> -- curl -v http://localhost:8080/actuator/health
    

    重点看两个点:一是返回的HTTP状态码是否为200 OK,二是响应体中的status字段是否为UP。如果这一步都失败,说明Actuator端点本身有问题,先排查Spring Boot配置(比如是否开启了健康端点暴露:management.endpoints.web.exposure.include=health)。

  • 检查K8s Pod的事件日志
    执行kubectl describe pod <你的Pod名称>后,重点看Events区域,这里会记录探针的执行情况:

    • 如果看到Successfully passed liveness probe的日志,说明探针已经成功触发过;
    • 如果只有Liveness probe failed的日志,说明探针请求失败了,结合日志里的错误信息(比如连接超时、返回非200码)进一步排查;
    • 如果完全没有探针相关的日志,先确认Pod的运行时间是否超过了你配置的delay=60s——K8s会在Pod启动60秒后才开始第一次存活探测,时间没到的话探针还没触发。
  • 查看Spring Boot应用的请求日志
    用kubectl logs <你的Pod名称>搜索/actuator/health相关的请求记录,K8s探针的请求会带有特殊的User-Agent(比如kube-probe/<K8s版本号>):

    • 如果能找到这类请求,说明探针已经发起调用,查看对应的返回码就能知道是否成功;
    • 如果找不到,说明探针根本没发送请求,要检查探针的配置细节(比如端口是否正确、Pod的网络是否正常)。
  • 验证Pod内部的端口监听情况
    有时候应用可能没监听8080端口,导致探针请求失败。进入Pod执行以下命令确认端口状态:

    kubectl exec <你的Pod名称> -- ss -tulpn | grep 8080
    

    如果没有输出,说明8080端口未被监听,需要检查Spring Boot的端口配置(比如server.port是否设为8080)。

  • 确认探针计数器的逻辑
    你看到的#success=1是指最近连续成功的探测次数,如果探针从未成功过,这个值会保持0;如果之前成功过但后来失败了,这个值会重置为0。所以如果计数器没增长,要么是探针还没触发,要么是每次探测都失败了。

内容的提问来源于stack exchange,提问作者dvlpr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:11:30