Updated on 2022-02-22 GMT+08:00

ULB.Healthmonitor

Element Description

The ULB.Healthmonitor element is a health check component of a shared load balancer. One pool corresponds to one health monitor. One health monitor can manage multiple ECSs. You can add or delete health monitors as required.

Element Properties

Table 1 Property Description

Property

Mandatory

Descripiton

monitorPort

No

Health check port

Type: integer

Value Description: Customize the value. The value is an integer between 1 and 65535, for example, 8089. If this parameter is left blank, the backend port of the ECS is used by default.

Value Constraint: The value ranges from 1 to 65535.

Suggestion: Set the value based on the live environment.

name

No

Name of a health check job

Type: string

Value Description: Customize the value.

Value Constraint: The value supports a maximum of 64 characters and can only contain digits, letters, underscores (_), and hyphens (-).

Suggestion: Customize the value.

urlPath

No

URI for health check. This parameter is valid when type is set to HTTP. You are advised to perform check on the static page.

Type: string

Value Description: Customize the value, for example, / or /index.html.

Value Constraint: The value contains 1 to 80 characters and must start with a slash (/). Only letters, digits, and special characters -/.%?#&_= are allowed. It must meet regular expression ^/[0-9a-zA-Z-_?/.?#&=]*.

Suggestion: Set the value based on the live environment.

delay

Yes

Interval for health check (unit: s)

Type: integer

Value Description: Customize the value. The value is an integer ranging from 0 to 2147483647, for example, 5.

Default: 5

Value Constraint: The value is an integer ranging from 0 to 2147483647.

Suggestion: Set the value based on the live environment.

httpMethod

No

HTTP method for health check. This parameter is valid when type is set to HTTP.

Type: string

Value Description: The options are GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, and PATCH.

Value Constraint: The options are GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, and PATCH.

Suggestion: Set the value based on the live environment.

timeout

Yes

Maximum timeout duration for health check (unit: s)

Type: integer

Value Description: Customize the value. The value is an integer ranging from 0 to 2147483647, for example, 10.

Default: 10

Value Constraint: The value is an integer ranging from 0 to 2147483647.

Suggestion: Set the value based on the live environment.

poolId

Yes

ECS group ID

Type: string

Value Description: ECS group ID

Suggestion: Use the get_reference function to automatically generate the value.

maxRetries

Yes

The number of consecutive times a cloud server fails or passes health checks, after which the health check status of the backend cloud server changes from success to fail or from fail to success, respectively.

Type: integer

Value Description: Customize the value. The value is an integer between 1 and 10, for example, 3.

Default: 3

Value Constraint: The value is an integer between 1 and 10.

Suggestion: Set the value based on the live environment.

expectedCode

No

HTTP status code used to determine the health status of a backend ECS. This parameter is valid when type is set to HTTP.

Type: string

Value Description: Customize the value, for example, 200.

Value Constraint: The value ranges from 1 to 250.

Suggestion: Set the value based on the live environment.

type

Yes

Health check protocol

Type: string

Value Description: The options are HTTP, TCP, HTTPS, PING, and TLS-HELLO.

Value Constraint: The options are HTTP, TCP, HTTPS, PING, and TLS-HELLO.

Suggestion: Set the value based on the live environment.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Inclusion

ULB.Pool

Return Value

Property

Type

Description

refID

string

ID of a health check instance

Blueprint Example

tosca_definitions_version: cloud_tosca_version_1_0
inputs:
  pool_protocol:
    description: 'Cloud server group protocol. It must be the same as the listener protocol.'
  pool_listenerId:
    description: ID of the listener to which it belongs
  pool_lbAlgorithm:
    description: Allocation policy type
  delay:
    description: Interval for health check (unit: s)
  timeout:
    description: Maximum timeout duration for health check (unit: s) 
  max_retries:
    description: The number of consecutive times a cloud server fails or passes health checks, after which the health check status of the backend cloud server changes from success to fail or from fail to success, respectively.
  type:
    description: Health check protocol
node_templates:
  pool:
    type: Cloud.ULB.Pool
    properties:
      protocol:
        get_input: pool_protocol
      listenerId:
        get_input: pool_listenerId
      lbAlgorithm:
        get_input: pool_lbAlgorithm
  health-monitor:
    type: Cloud.ULB.Healthmonitor
    properties:
      delay:
        get_input: delay
      timeout:
        get_input: timeout
      maxRetries:
        get_input: max_retries
      type:
        get_input: type
      poolId:
        get_reference: pool
    requirements:
      - poolId:
          node: pool