Creates an availability monitoring task.

This topic describes how to create the task1 availability monitoring in the123456 application group. The TaskType parameter of the task is set to HTTP. After you start the task, the system sends you alerts by using the specified email address and DingTalk chatbot.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateHostAvailability

The operation that you want to perform. Set the value to CreateHostAvailability.

GroupId Long Yes 123456

The ID of the application group.

TaskName String Yes task1

The name of the availability monitoring task. The name must be 4 to 100 characters in length, and can contain letters, digits, and underscores (_).

TaskScope String No GROUP

The range of instances that are monitored by the availability monitoring task. Valid values:

  • GROUP: All ECS instances in the application group are monitored.
  • GROUP_SPEC_INSTANCE: Specified ECS instances in the application group are monitored. The TaskScope parameter must be used in combination with the InstanceList.N parameter. The InstanceList.N parameter specifies the ECS instances to be monitored.
TaskType String Yes HTTP

The monitoring type of the availability monitoring task. Valid values:

  • PING
  • TELNET
  • HTTP
TaskOption.HttpURI String No https://www.aliyun.com

The URI that you want to monitor. If the TaskType parameter is set to HTTP, this parameter is required.

TaskOption.TelnetOrPingHost String No www.aliyun.com

The domain name or IP address that you want to monitor.

Note If the TaskType parameter is set to PING or TELNET, this parameter is required.
TaskOption.HttpResponseCharset String No UTF-8

The character set that is used in the HTTP response.

Note Valid value: UTF-8.
TaskOption.HttpPostContent String No params1=paramsValue1

The content of the HTTP POST request.

TaskOption.HttpResponseMatchContent String No ok

The response to the HTTP request.

TaskOption.HttpMethod String No GET

The HTTP request method. Valid values:

  • GET
  • POST
  • HEAD
Note If the TaskType parameter is set to HTTP, this parameter is required.
TaskOption.HttpNegative Boolean No true

The method to trigger an alert. The alert can be triggered based on whether the specified alert rule is included in the response body. Valid values:

  • true: If the HTTP response body includes the alert rule, an alert is triggered.
  • false: If the HTTP response does not include the alert rule, an alert is triggered.
Note If the TaskType parameter is set to HTTP, this parameter takes effect.
TaskOption.HttpHeader String No token:testTokenValue

The header of the HTTP request. Format: Parameter name:Parameter value. Separate multiple parameters with carriage return characters. Example:


params1:value1
params2:value2
TaskOption.Interval Integer No 60

The interval at which detection requests are sent. Unit: seconds. Valid values: 15, 30, 60, 120, 300, 900, 1800, and 3600.

Note This parameter is available only for the CloudMonitor agent V3.5.1 or later.
AlertConfig.NotifyType Integer Yes 0

The alert notification methods. Valid values:

0: Alert notifications are sent by using emails and DingTalk chatbots.

AlertConfig.StartTime Integer No 0

The beginning of the time period during which the alert rule is effective. Valid values: 0 to 23.

For example, if the AlertConfig.StartTime parameter is set to 0 and the AlertConfig.EndTime parameter is set to 22, the alert rule is effective from 00:00:00 to 22:00:00.

Note Alert notifications are sent based on the specified threshold only if the alert rule is effective.
AlertConfig.EndTime Integer No 22

The end of the time period during which the alert rule is effective. Valid values: 0 to 23.

For example, if the AlertConfig.StartTime parameter is set to 0 and the AlertConfig.EndTime parameter is set to 22, the alert rule is effective from 00:00:00 to 22:00:00.

Note Alert notifications are sent based on the specified threshold only if the alert rule is effective.
AlertConfig.SilenceTime Integer No 86400

The mute period during which new alerts are not sent even if the trigger conditions are met. Unit: seconds. Default value: 86400. The default value indicates one day.

AlertConfig.WebHook String No https://www.aliyun.com/webhook.json

The callback URL.

AlertConfigEscalationList.N.MetricName String Yes HttpStatus

The metric for which the alert feature is enabled. Valid values of N: 1 to 21. Valid values:

  • HttpStatus: HTTP status code
  • HttpLatency: HTTP response time
  • TelnetStatus: Telnet status code
  • TelnetLatency: Telnet response time
  • PingLostRate: Ping packet loss rate
AlertConfigEscalationList.N.Value String No 90

The alert threshold. Valid values of N: 1 to 21.

AlertConfigEscalationList.N.Times Integer No 3

The consecutive number of times for which the metric value meets the alert condition before an alert is triggered. Valid values of N: 1 to 21.

AlertConfigEscalationList.N.Operator String No >

The comparison operator that is used in the alert rule. Valid values of N: 1 to 21. Valid values:

  • >
  • >=
  • <
  • <=
  • =
AlertConfigEscalationList.N.Aggregate String No Value

The method used to calculate metric values that trigger alerts. Valid values of N: 1 to 21. Valid values:

  • HttpStatus: Value
  • HttpLatency: Average
  • TelnetStatus: Value
  • TelnetLatency: Average
  • PingLostRate: Average
Note The value Value indicates the original value and is used for metrics such as status codes. The value Average indicates the average value and is used for metrics, such as the latency and packet loss rate.
InstanceList.N String No 2

The ECS instances that are monitored. Valid values of N: 1 to 21.

Note If the TaskScope parameter is set to GROUP_SPEC_INSTANCE, this parameter is required.
AlertConfigTargetList.N.Id String No 1

The ID of the resource for which alerts are triggered.

AlertConfigTargetList.N.Arn String No acs:mns:cn-hangzhou:120886317861****:/queues/test/message

The Alibaba Cloud Resource Name (ARN) of the resource. Format: acs:{Service name abbreviation}:{regionId}:{userId}:/{Resource type}/{Resource name}/message. Example: acs:mns:cn-hangzhou:120886317861****:/queues/test123/message. Fields:

  • {Service name abbreviation}: the abbreviation of the service name. Valid value: mns.
  • {userId}: the ID of the Alibaba Cloud account.
  • {regionId}: the region ID of the message queue or topic.
  • {Resource type}: the type of the resource for which alerts are triggered. Valid values: - **queues** - **topics** {Resource name}: the name of the resource. - If the resource type is set to **queues**, the resource name is the name of the message queue. - If the resource type is set to **topics**, the resource name is the name of the topic.
AlertConfigTargetList.N.Level String No ["INFO", "WARN", "CRITICAL"]

The level of the alert. Valid values:

  • INFO: information
  • WARN: warning
  • CRITICAL: critical
AlertConfigTargetList.N.JsonParams String No {"customField1":"value1","customField2":"$.name"}

The parameters of the alert callback. The parameters are in the JSON format.

For more information about common request parameters, see Common parameters.

Response parameters

Parameter Type Example Description
Code String 200

The HTTP status code.

Note The status code 200 indicates that the call was successful.
Message String The specified resource is not found.

The error message.

RequestId String ACBDBB40-DFB6-4F4C-8957-51FFB233969C

The ID of the request.

TaskId Long 12345

The ID of the availability monitoring task.

Success Boolean true

Indicates whether the call was successful. Valid values:

  • true: The call was successful.
  • false: The call failed.

Examples

Sample requests

http(s)://[Endpoint]/?Action=CreateHostAvailability
&AlertConfig.NotifyType=0
&AlertConfigEscalationList.1.MetricName=HttpStatus
&GroupId=123456
&TaskName=task1
&TaskType=HTTP
&<Common request parameters>

Sample success responses

XML format

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

<CreateHostAvailabilityResponse>
	<TaskId>12345</TaskId>
	<RequestId>CDA78493-F10F-485F-98AD-B4C0B40AB225</RequestId>
	<Code>200</Code>
	<Success>true</Success>
</CreateHostAvailabilityResponse>

JSON format

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

{
  "TaskId" : "12345",
  "RequestId" : "CDA78493-F10F-485F-98AD-B4C0B40AB225",
  "Code" : 200,
  "Success" : true
}

Error codes

For a list of error codes, visit the API Error Center.