健康检查是指由EDAS Agent(以下简称为Agent)针对容器与应用进行定时检查与汇报,然后将结果反馈在控制台上的过程。健康检查能帮助您了解集群环境下整个服务的运行状态,从而为审查与定位问题提供帮助。

健康检查简介

健康检查分为两部分:端口健康检查和URL健康检查。
  • 端口健康检查就是检查应用进程的相关端口是否成功打开,如果端口可以连接上,则该健康检查就会成功。因此如果应用正常运行,则端口健康检查一定是正常,但反之不一定正确,此时就需要进行URL健康检查。
  • URL健康检查会按照固定的时间间隔,向应用程序、服务器或其他资源自动提交请求,以验证其是否可到达、是否可用及功能是否正常,如果该地址HTTP状态码返回200则认为健康检查通过。
    说明 如果您没有配置URL,将不会进行健康检查。

健康检查设置

在ECS集群中,您可以在创建应用过程中设置健康检查URL,也可以在应用部署完成后在应用设置页面添加或者修改健康检查。

  1. 登录EDAS控制台
  2. 在左侧导航栏中选择应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择命名空间,然后在应用列表页面单击具体的应用名称。
  3. 基本信息页面的应用设置区域,单击健康检查右侧的修改
    说明 只有ECS集群中的应用会显示健康检查的设置项。
  4. 修改健康检查URL对话框设置健康检查。
    • 端口健康检查:开启来检查应用端口是否能正常访问。
    • 健康检查URL:开启并配置健康检查URL,监测配置的URL是否返回200,若返回200则说明服务可用。配置示例如下:
      • 一个WAR包应用的默认运行容器是Tomcat,则应用端口默认为8080,则健康检查的URL可以设置为http://127.0.0.1:8080/order/healthCheck.html
      • 若该WAR包应用配置了容器路径为根路径,端口设置为8081,WAR包中包含一个可以标识健康状态的文件healthcheck.html,则健康检查URL为http://127.0.0.1:8081/healthcheck.html
      注意 设置URL健康检查时选取的URL地址需要注意以下几点:
      • 该地址在应用正常的情况下一定要返回200,应用不正常的时候返回非200。
      • 该地址不要具有影响业务的操作。
      • 该地址响应应该尽量迅速。
      • 该地址最好不要调用其他内部接口,例如请求OSS资源,否则会造成对OSS资源非常大流量的请求。
      • 该地址返回的数据量应当尽量小。

健康检查状态说明

在设置完应用健康检查之后,应用会有不同的显示状态。

  • 容器退出:在健康检查的流程图中,当第1步发现Ali-Tomcat没有存活时,显示容器退出状态。
  • 应用异常:在健康检查的流程图中,当第2步发现在3s内您配置的URL返回非200时,显示应用异常状态。
  • 运行正常:在健康检查的流程图中,如果第1步与第2步均通过,则显示运行正常状态。

    检测过程中,如果发现您没有配置健康检查URL,此时应用的运行状态同样显示为运行正常,但运行状态右侧会显示感叹号,鼠标在叹号上悬停时会提示:请启用应用的健康检查URL,以便更精准的反映应用运行状态。

  • Agent异常: 在健康检查的流程图中,在EDAS Server端,如发现Agent在30秒钟之内没有任何状态的汇报,则显示Agent异常状态。
  • ECS已过期:表示ECS在ECS控制台已被释放。