创建健康检查
功能介绍
为后端云服务器组创建健康检查,用来检查该后端云服务器组关联的后端云服务器的状态,如果检查状态为OFFLINE则表示后端云服务器的服务异常,请检查服务器的配置。
接口约束
- 安全组需放通网段100.125.0.0/16流量。
- UDP的检查健康只能使用在UDP的后端云服务器组上。
URI
POST /v2/{project_id}/elb/healthmonitors
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
操作用户的项目ID。 |
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
healthmonitor |
是 |
Healthmonitor object |
健康检查对象。详见表3。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tenant_id |
否 |
String |
健康检查所在的项目ID。 需要和token中的project_id一致。 支持的最大字符长度:255 |
name |
否 |
String |
健康检查名称。 支持的最大字符长度:255 |
delay |
是 |
Integer |
健康检查的间隔,单位秒,取值范围[1,50]。 |
max_retries |
是 |
Integer |
健康检查最大重试次数,取值范围[1,10]。 |
pool_id |
是 |
String |
健康检查关联的后端云服务器组ID。 每个后端云服务器组只能有一个健康检查。 |
admin_state_up |
否 |
Boolean |
健康检查的管理状态。 该字段为预留字段,暂未启用。默认为true。 |
timeout |
是 |
Integer |
健康检查超时时间,单位秒,取值范围[1,50]。
说明:
建议该值小于delay的值。 |
type |
是 |
String |
健康检查的类型。 取值范围:TCP、UDP_CONNECT、HTTP。 |
monitor_port |
否 |
Integer |
健康检查端口号,取值范围[1,65535]。 默认为空,表示使用后端云服务器的protocol_port作为健康检查的检查端口。 |
domain_name |
否 |
String |
健康检查时,发送的http请求的域名。 仅当type为HTTP时生效。 默认为空,表示使用负载均衡器的vip_address作为http请求的目的地址。 以数字或字母开头,只能包含数字、字母、’-’、’.’。 例如:www.test.com 支持的最大字符长度:100 |
url_path |
否 |
String |
健康检查时发送的http请求路径。默认为“/”。 以“/”开头。 仅当type为HTTP时生效。 例如:“/test” 支持的最大字符长度:80 |
expected_codes |
否 |
String |
期望HTTP响应状态码,指定下列值: 单值,例如200; 列表,例如200,202; 区间,例如200-204。 仅当type为HTTP时生效。 支持的最大字符长度:64
说明:
该字段为预留字段,暂未启用。 |
http_method |
否 |
String |
HTTP请求的方法;默认值:GET 取值范围:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。 仅当type为HTTP时生效。
说明:
该字段为预留字段,暂未启用。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
healthmonitor |
Healthmonitor object |
健康检查对象。详见表5。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
健康检查ID。 |
tenant_id |
String |
健康检查所在的项目ID。 |
project_id |
String |
此参数和tenant_id参数含义一样,均指健康检查所在的项目ID。 |
name |
String |
健康检查名称。 |
delay |
Integer |
健康检查间隔,单位秒,取值范围[1,50]。 |
max_retries |
Integer |
健康检查最大重试次数,取值范围[1,10]。 |
max_retries_down |
Integer |
健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE,取值范围[1,10]。 |
pools |
Array of Pools objects |
健康检查关联的后端云服务器组的ID列表。详见表6 |
admin_state_up |
Boolean |
健康检查的管理状态。 该字段为预留字段,暂未启用。取值范围:true/false。
|
timeout |
Integer |
健康检查超时时间,单位秒,取值范围[1,50]。
说明:
建议该值小于delay的值。 |
type |
String |
健康检查的类型。 取值范围:TCP、UDP_CONNECT、HTTP。 |
monitor_port |
Integer |
健康检查端口号,取值范围[1,65535]。 默认为空,表示使用后端云服务器的protocol_port作为健康检查的检查端口。 |
expected_codes |
String |
期望HTTP响应状态码,指定下列值: 单值,例如200; 列表,例如200,202; 区间,例如200-204。 仅当type为HTTP时生效。 暂时不支持该字段,统一置为200。 |
domain_name |
String |
健康检查时,发送的http请求的域名。 仅当type为HTTP时生效。 默认为空,表示使用负载均衡器的vip_address作为http请求的目的地址。 以数字或字母开头,只能包含数字、字母、’-’、’.’。 例如:www.test.com |
url_path |
String |
健康检查时发送的http请求路径。默认为“/”。 以“/”开头。 仅当type为HTTP时生效。 例如:“/test” |
http_method |
String |
HTTP请求的方法;默认值:GET 取值范围:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。 仅当type为HTTP时生效。
说明:
该字段为预留字段,暂未启用。 |
请求示例
- 请求样例1 创建健康检查
POST https://{Endpoint}/v2/145483a5107745e9b3d80f956713e6a3/elb/healthmonitors { "healthmonitor": { "admin_state_up": true, "pool_id": "bb44bffb-05d9-412c-9d9c-b189d9e14193", "domain_name": "www.test.com", "delay": 10, "max_retries": 10, "timeout": 10, "type": "HTTP" } }
响应示例
- 响应样例1
{ "healthmonitor": { "name": "", "admin_state_up": true, "tenant_id": "145483a5107745e9b3d80f956713e6a3", "project_id": "145483a5107745e9b3d80f956713e6a3", "domain_name": "www.test.com", "delay": 10, "expected_codes": "200", "max_retries": 10, "http_method": "GET", "timeout": 10, "pools": [ { "id": "bb44bffb-05d9-412c-9d9c-b189d9e14193" } ], "url_path": "/", "type": "HTTP", "id": "2dca3867-98c5-4cde-8f2c-b89ae6bd7e36", "monitor_port": 112 } }
返回码
请参见状态码。