更新时间:2023-12-18 GMT+08:00

更新健康检查

功能介绍

更新健康检查。

接口约束

如果该健康检查绑定的负载均衡器的provisioning状态不是ACTIVE,不能更新该健康检查。

URI

PUT /v2.0/lbaas/healthmonitors/{healthmonitor_id}

表1 参数说明

参数

是否必选

参数类型

描述

healthmonitor_id

String

健康检查ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

healthmonitor

Object

健康检查对象。详见表3

表3 healthmonitor字段说明

参数

是否必选

参数类型

描述

name

String

健康检查名称。

支持的最大字符长度:255

delay

Integer

健康检查间隔,单位秒,取值范围[1,50]。

max_retries

Integer

健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE,取值范围[1,10]。

max_retries_down

Integer

健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE,取值范围[1,10]。

admin_state_up

Boolean

健康检查的管理状态。

该字段为预留字段,暂未启用。默认为true。

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时生效。

domain_name

String

健康检查时,发送的http请求的域名。

仅当type为HTTP时生效。

默认为空,表示使用负载均衡器的vip_address作为http请求的目的地址。

以数字或字母开头,只能包含数字、字母、’-’、’.’。

例如:www.test.com

支持的最大字符长度:100

url_path

String

健康检查时发送的http请求路径。默认为“/”。

以“/”开头。

仅当type为HTTP时生效。

例如:“/test”

支持的最大字符长度:80

http_method

String

HTTP请求的方法;默认值:GET

取值范围:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。

仅当type为HTTP时生效。

说明:

该字段为预留字段,暂未启用。

响应消息

表4 响应参数

参数

参数类型

描述

healthmonitor

Object

健康检查对象。详见表5

表5 healthmonitor字段说明

参数

参数类型

描述

id

String

健康检查ID。

tenant_id

String

健康检查所在的项目ID。

project_id

String

此参数和tenant_id参数含义一样,均指健康检查所在的项目ID。

name

String

健康检查名称。

delay

Integer

健康检查间隔,单位秒,取值范围[1,50]。

max_retries

Integer

健康检查连续成功多少次后,将后端服务器的健康检查状态由OFFLINE判定为ONLINE,取值范围[1,10]。

max_retries_down

Integer

健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE,取值范围[1,10]。

pools

Array

健康检查关联的后端云服务器组的ID列表。详见表5

admin_state_up

Boolean

健康检查的管理状态。

该字段为预留字段,暂未启用。取值范围:true/false。

  • true表示开启。
  • false表示关闭。

timeout

Integer

健康检查超时时间,单位秒,取值范围[1,50]。

说明:

建议该值小于delay的值。

type

String

健康检查的类型。

取值范围:TCP、UDP_CONNECT、HTTP。

健康检查的type与其关联的后端云服务器组的protocol有如下关系:

  • 后端云服务器组的protocol为UDP时,健康检查的type只能为UDP_CONNECT;
  • 后端云服务器组的protocol为TCP时,健康检查的type可以为TCP、HTTP;
  • 后端云服务器组的protocol为HTTP时,健康检查的type可以为TCP、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时生效。

说明:

该字段为预留字段,暂未启用。

表6 pools字段说明

参数

参数类型

描述

id

String

关联的后端服务器组id

请求示例

  • 请求样例 更新健康检查
    PUT https://{Endpoint}/v2.0/lbaas/healthmonitors/b7633ade-24dc-4d72-8475-06aa22be5412
    
    {
      "healthmonitor": {
        "delay": 15,
        "name": "health-xx",
        "timeout": 12
       }
    }

响应示例

  • 响应样例
    {
      "healthmonitor": {
        "name": "health-xx",
        "admin_state_up": true,
        "tenant_id": "145483a5107745e9b3d80f956713e6a3",
        "project_id": "145483a5107745e9b3d80f956713e6a3",
        "domain_name": null,
        "delay": 15,
        "expected_codes": "200",
        "max_retries": 10,
        "max_retries_down": 5,
        "http_method": "GET",
        "timeout": 12,
        "pools": [
          {
            "id": "bb44bffb-05d9-412c-9d9c-b189d9e14193"
          }
        ],
        "url_path": "/",
        "type": "HTTP",
        "id": "2dca3867-98c5-4cde-8f2c-b89ae6bd7e36",
        "monitor_port": 112
      }
    }

返回码

请参见状态码