本文介绍使用SAE时,如何排查健康检查失败的原因。
问题现象
在SAE环境中设置健康检查,出现健康检查失败现象。
问题原因
- 健康检查的参数配置有误。
- 健康检查所需的命令缺失。
解决方案
健康检查失败的排查步骤如下。
- 参见设置健康检查,确认延迟时间(秒)、超时时间、检查周期(秒)三个参数设置无误。
首次部署SAE时,健康检查失败的常见原因如下。
例如,您的程序启动需要120秒,但是延迟时间设置为60秒;或者,您的接口响应时间存在2秒的波动,但是超时时间设置为1秒。这些场景中,参数的取值有误,您需要按实际情况进行修改。
- 查看应用事件,进一步明确失败的原因。
如果健康检查失败,原因会在应用事件中透出。
如果是运行态健康检查失败,可以结合基础监控(CPU、Load、TCP连接数)排查,Java语言还可以结合应用监控进一步排查。
- SAE的HTTP检查依赖容器curl命令、TCP检查依赖容器内的telnet命令。所以,如果您采用自定义镜像部署,需要在镜像内安装上述命令,否则会造成健康检查失败。
- SAE会在HTTP和TCP检查的设置区域,生成健康检查的命令。如果您可以通过Webshell进入容器,可以尝试在Webshell内执行该命令,确认是否失败。
- 如果因为健康检查失败导致容器反复重启,而无法进入Webshell,建议您删除Liveness的健康检查配置,重新部署应用,确保程序能够启动,再进一步排查。
- 本页导读 (1)
- 问题现象
- 问题原因
- 解决方案
文档内容是否对您有帮助?