调用GetListenerHealthStatus接口查询监听及其相应配置的转发规则的健康检查状态。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetListenerHealthStatus

要执行的操作。

取值:GetListenerHealthStatus

ListenerId String lsr-bp1bpn0kn908w4nbw****

实例的监听ID。

IncludeRule Boolean true

是否包含转发规则的检查结果。取值:

  • true:是。
  • false(默认值):否。
NextToken String FFmyTO70tTpLG6I3FmYAXGKPd****

是否拥有下一次查询的令牌(Token)。取值:

  • 第一次查询和没有下一次查询时,均无需填写。
  • 如果有下一次查询,取值为上一次API调用返回的NextToken值。
MaxResults Long 20

分批次查询时每次显示的最大条目数。取值范围:1~30,默认值为20

返回数据

名称 类型 示例值 描述
ListenerHealthStatus Array of ListenerHealthStatusModel

监听的服务器组健康检查状态列表。

ListenerId String lsr-bp1bpn0kn908w4nbw****

实例的监听ID。

ListenerPort Integer 80

监听的端口号。

ListenerProtocol String http

监听的协议。

ServerGroupInfos Array of ServerGroupHealthStatusModel

服务器组信息。

HealthCheckEnabled String on

健康检查开启状态。取值: on,表示开启健康检查。

NonNormalServers Array of BackendServerHealthStatusModel

非正常状态的后端服务器列表。

Port Integer 90

后端服务器端口。

Reason Object

非正常状态的原因。

ActualResponse String 302

后端服务器实际的返回码信息,例如,302

说明 ReasonCodeRESPONSE_MISMATCH才该返回值。
ExpectedResponse String HTTP_2xx

用户预期的后端服务器返回码信息。

取值:HTTP_2xxHTTP_3xxHTTP_4xxHTTP_5xx。多个返回码之间用半角逗号(,)分隔。

说明 ReasonCodeRESPONSE_MISMATCH才返回该值。
ReasonCode String RESPONSE_MISMATCH

Status为异常状态时的详细原因,目前仅HTTP和HTTPS的监听与转发规则支持查看异常状态原因:

  • CONNECT_TIMEOUT:负载均衡健康检查时向后端服务器建立连接超时。
  • CONNECT_FAILED:负载均衡健康检查时向后端服务器建立连接失败。
  • RECV_RESPONSE_FAILED:负载均衡健康检查时从后端服务器接收响应失败。
  • RECV_RESPONSE_TIMEOUT:负载均衡健康检查时从后端服务器接收响应超时。
  • SEND_REQUEST_FAILED:负载均衡健康检查时向后端服务器发送请求失败。
  • SEND_REQUEST_TIMEOUT:负载均衡健康检查时向后端服务器发送请求超时。
  • RESPONSE_FORMAT_ERROR:负载均衡健康检查时从后端服务器接收响应格式错误。
  • RESPONSE_MISMATCH:负载均衡健康检查时从后端服务器接收的响应码与预期配置返回码不一致。
ServerId String rg-bp1bfa08ex*****

后端服务器ID。

ServerIp String 192.168.8.10

后端服务器IP。

Status String Initial

健康检查状态。取值:

  • Initial:初始化中,表示负载均衡实例配置了健康检查,但查不到数据。
  • Unhealthy:异常,表示连续上报不健康的状态。
  • Unused:未使用,表示后端服务器的权重为0。
  • Unavailable:未开启,表示未开启健康检查。
ServerGroupId String vsp-bp1qjwo61pqz3ahltv****

关联的虚拟服务器组ID。

ActionType String TrafficMirror

服务器组使用类型。

RequestId String CEF72CEB-54B6-4AE8-B225-F876FF7BA984

请求ID。

RuleHealthStatus Array of RuleHealthStatusModel

转发规则的健康状态列表。

RuleId String rule-hp34s2h0xx1ht4nwo****

转发规则ID。

ServerGroupInfos Array of ServerGroupHealthStatusModel

服务器组列表。

HealthCheckEnabled String on

健康检查开启状态。取值: on,表示开启健康检查。

NonNormalServers Array of NonNormalServer

非正常状态的后端服务器列表。

Port Integer 90

后端服务器端口。

Reason Object

非正常状态的原因。

ActualResponse String 302

后端服务器实际的返回码信息,例如,302

说明 ReasonCodeRESPONSE_MISMATCH才有值。
ExpectedResponse String HTTP_2xx

用户预期的后端服务器返回码信息。

取值:HTTP_2xxHTTP_3xxHTTP_4xxHTTP_5xx。多个返回码之间用半角逗号(,)分隔。

说明 ReasonCodeRESPONSE_MISMATCH才有值。
ReasonCode String RESPONSE_MISMATCH

Status为异常状态时的详细原因,目前仅HTTP和HTTPS的监听与转发规则支持查看异常状态原因:

  • CONNECT_TIMEOUT:负载均衡健康检查时向后端服务器建立连接超时。
  • CONNECT_FAILED:负载均衡健康检查时向后端服务器建立连接失败。
  • RECV_RESPONSE_FAILED:负载均衡健康检查时从后端服务器接收响应失败。
  • RECV_RESPONSE_TIMEOUT:负载均衡健康检查时从后端服务器接收响应超时。
  • SEND_REQUEST_FAILED:负载均衡健康检查时向后端服务器发送请求失败。
  • SEND_REQUEST_TIMEOUT:负载均衡健康检查时向后端服务器发送请求超时。
  • RESPONSE_FORMAT_ERROR:负载均衡健康检查时从后端服务器接收响应格式错误。
  • RESPONSE_MISMATCH:负载均衡健康检查时从后端服务器接收的响应码与预期配置返回码不一致。
ServerId String rg-bp1bfa08ex****

后端服务器ID。

ServerIp String 192.168.2.11

后端服务器组IP。

Status String Initial

健康检查状态。取值:

  • Initial:初始化中,表示负载均衡实例配置了健康检查,但查不到数据。
  • Unhealthy:异常,表示连续上报不健康的状态。
  • Unused:未使用,表示后端服务器的权重为0。
  • Unavailable:未开启,表示未开启健康检查。
ServerGroupId String vsp-bp1qjwo61pqz3ahlt****

关联的虚拟服务器组ID。

ActionType String TrafficMirror

服务器组使用类型。

NextToken String FFmyTO70tTpLG6I3FmYAXGKPd****

是否拥有下一次查询的令牌(Token)。取值:

  • 如果NextToken为空表示没有下一次查询。
  • 如果NextToken有返回值,该取值表示下一次查询开始的令牌。

示例

请求示例

http(s)://[Endpoint]/?Action=GetListenerHealthStatus
&ListenerId=lsr-bp1bpn0kn908w4nbw****
&IncludeRule=true
&NextToken=FFmyTO70tTpLG6I3FmYAXGKPd****
&MaxResults=20
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetListenerHealthStatusResponse>
    <ListenerHealthStatus>
        <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>
        <ListenerPort>80</ListenerPort>
        <ListenerProtocol>http</ListenerProtocol>
        <ServerGroupInfos>
            <HealthCheckEnabled>on</HealthCheckEnabled>
            <NonNormalServers>
                <Port>90</Port>
                <Reason>
                    <ActualResponse>302</ActualResponse>
                    <ExpectedResponse>HTTP_2xx</ExpectedResponse>
                    <ReasonCode>RESPONSE_MISMATCH</ReasonCode>
                </Reason>
                <ServerId>rg-bp1bfa08ex*****</ServerId>
                <ServerIp>192.168.8.10</ServerIp>
                <Status>Initial</Status>
            </NonNormalServers>
            <ServerGroupId>vsp-bp1qjwo61pqz3ahltv****</ServerGroupId>
            <ActionType>TrafficMirror</ActionType>
        </ServerGroupInfos>
    </ListenerHealthStatus>
    <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>
    <RuleHealthStatus>
        <RuleId>rule-hp34s2h0xx1ht4nwo****</RuleId>
        <ServerGroupInfos>
            <HealthCheckEnabled>on</HealthCheckEnabled>
            <NonNormalServers>
                <Port>90</Port>
                <Reason>
                    <ActualResponse>302</ActualResponse>
                    <ExpectedResponse>HTTP_2xx</ExpectedResponse>
                    <ReasonCode>RESPONSE_MISMATCH</ReasonCode>
                </Reason>
                <ServerId>rg-bp1bfa08ex****</ServerId>
                <ServerIp>192.168.2.11</ServerIp>
                <Status>Initial</Status>
            </NonNormalServers>
            <ServerGroupId>vsp-bp1qjwo61pqz3ahlt****</ServerGroupId>
            <ActionType>TrafficMirror</ActionType>
        </ServerGroupInfos>
    </RuleHealthStatus>
    <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>
</GetListenerHealthStatusResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ListenerHealthStatus" : [ {
    "ListenerId" : "lsr-bp1bpn0kn908w4nbw****",
    "ListenerPort" : 80,
    "ListenerProtocol" : "http",
    "ServerGroupInfos" : [ {
      "HealthCheckEnabled" : "on",
      "NonNormalServers" : [ {
        "Port" : 90,
        "Reason" : {
          "ActualResponse" : "302",
          "ExpectedResponse" : "HTTP_2xx",
          "ReasonCode" : "RESPONSE_MISMATCH"
        },
        "ServerId" : "rg-bp1bfa08ex*****",
        "ServerIp" : "192.168.8.10",
        "Status" : "Initial"
      } ],
      "ServerGroupId" : "vsp-bp1qjwo61pqz3ahltv****",
      "ActionType" : "TrafficMirror"
    } ]
  } ],
  "RequestId" : "CEF72CEB-54B6-4AE8-B225-F876FF7BA984",
  "RuleHealthStatus" : [ {
    "RuleId" : "rule-hp34s2h0xx1ht4nwo****",
    "ServerGroupInfos" : [ {
      "HealthCheckEnabled" : "on",
      "NonNormalServers" : [ {
        "Port" : 90,
        "Reason" : {
          "ActualResponse" : "302",
          "ExpectedResponse" : "HTTP_2xx",
          "ReasonCode" : "RESPONSE_MISMATCH"
        },
        "ServerId" : "rg-bp1bfa08ex****",
        "ServerIp" : "192.168.2.11",
        "Status" : "Initial"
      } ],
      "ServerGroupId" : "vsp-bp1qjwo61pqz3ahlt****",
      "ActionType" : "TrafficMirror"
    } ]
  } ],
  "NextToken" : "FFmyTO70tTpLG6I3FmYAXGKPd****"
}

错误码

HttpCode 错误码 错误信息 描述
404 ResourceNotFound.LoadBalancer The specified resource %s is not found. 资源%s不存在。
404 ResourceNotFound.Listener The specified resource %s is not found. 资源%s不存在。

访问错误中心查看更多错误码。