应用管理与运维平台 ServiceStage-设置健康检查:健康检查方式
健康检查方式
- HTTP请求检查
HTTP请求方式针对的是提供HTTP/HTTPS服务的应用组件,集群周期性地对该应用发起HTTP/HTTPS GET请求,如果HTTP/HTTPS response返回码属于200~399范围,则证明探测成功,否则探测失败。使用HTTP请求探测必须指定应用监听的端口和HTTP/HTTPS的请求路径。
例如:提供HTTP服务的应用组件,端口为80,HTTP检查路径为/health-check,主机地址为containerIP,那么集群会周期性地对应用发起如下请求:
GET http://containerIP:80/health-check
HTTP请求检查中的主机地址,如果不填写,默认为实例IP。
- TCP端口检查
对于提供TCP通信服务的应用,集群周期性地对该应用建立TCP连接。如果连接成功,则证明探测成功,否则探测失败。选择TCP端口探测方式,必须指定应用监听的端口。比如有一个nginx应用组件,它的服务端口是80,对该应用组件配置了TCP端口探测,指定探测端口为80,那么集群会周期性地对该应用组件的80端口发起TCP连接,如果连接成功则证明检查成功,否则检查失败。
- 执行命令检查
命令检查方式要求用户指定一个应用组件内的可执行命令,集群会周期性地在应用组件内执行该命令,如果命令的返回结果是0则检查成功,否则检查失败。
对于上面提到的TCP端口检查和HTTP请求检查,都可以通过执行命令检查的方式来替代:
- 对于TCP端口探测,可以使用程序来对应用组件的端口进行connect,如果connect成功,脚本返回0,否则返回-1。
- 对于HTTP请求探测,可以使用脚本来对应用组件进行wget:
wget http://127.0.0.1:80/health-check
并检查response的返回码,如果返回码在200~399的范围,脚本返回0,否则返回-1。
- 必须把要执行的程序放在应用组件的镜像里面,否则会因找不到程序而执行失败。
- 如果执行的命令是一个shell脚本,由于集群在执行应用组件里的程序时,不在终端环境下,因此不能直接指定脚本为执行命令,需要加上脚本解释器。比如脚本是/data/scripts/health_check.sh,那么使用执行命令检查时,指定的程序应该是sh /data/scripts/health_check.sh。究其原因是集群在执行应用组件里的程序时,不在终端环境下。
- 如何快速体验应用管理与运维平台_快速体验_应用管理与运维平台_功能
- 应用管理与运维平台实战_应用托管_应用运维-华为云
- 如何使用应用管理与运维平台_应用管理_应用运维_微服务应用治理
- 如何创建用户并授权使用应用管理与运维平台_应用管理与运维平台_创建用户_用户授权
- 如何选择应用管理与运维平台_运维管理_灰度发布-华为云
- 应用管理与运维平台有什么作用_运维管理_灰度发布-华为云
- 应用管理与运维平台有哪些能力_应用管理_灰度发布-华为云
- 应用管理与运维平台的安全性_监控_日志管理-华为云
- 应用运维管理优势_应用运维管理_AOM-华为云
- 应用管理与运维平台如何管理微服务_微服务应用_微服务应用管理-华为云