调用CreateHostAvailability接口创建可用性监控任务。

本文将提供一个示例,在应用分组123456中创建探测类型为HTTP的可用性监控任务task1,通过邮件和钉钉机器人给您发送报警。

调试

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

请求参数

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

要执行的操作,取值:CreateHostAvailability

GroupId Long 123456

应用分组ID。

TaskName String task1

可用性监控任务名称。取值范围:4~100个字符,支持英文字母、数字、下划线(_)和汉字。

TaskScope String GROUP

可用性监控任务的探测范围。取值:

  • GROUP:表示将当前应用分组内的所有ECS实例作为探测任务的探针。
  • GROUP_SPEC_INSTANCE:表示将当前应用分组内的指定ECS实例作为探测任务的探针。设置该参数时,需要同时设置InstanceList(发起探测的ECS实例列表)。
TaskType String HTTP

可用性监控任务的探测类型。取值:

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

HTTP探测类型的探测URI地址。

TaskOption.TelnetOrPingHost String www.aliyun.com

探测的域名或地址。

说明 如果探测任务类型为PING或TELNET,则需要设置该参数。
TaskOption.HttpResponseCharset String UTF-8

HTTP探测类型的响应字符集。

说明 仅支持UTF-8。
TaskOption.HttpPostContent String params1=paramsValue1

HTTP探测类型探测请求的Post内容。

TaskOption.HttpResponseMatchContent String ok

匹配响应的内容。

TaskOption.HttpMethod String GET

探测类型的方法。取值:

  • GET
  • POST
  • HEAD
说明 如果任务的探测类型为HTTP,则需要设置该参数。
TaskOption.HttpNegative Boolean true

匹配HTTP响应内容的报警规则。取值:

  • true:如果HTTP响应内容包含设置的报警规则,则报警。
  • false:如果HTTP响应内容不包含设置的报警规则,则报警。
说明 如果任务的探测类型为HTTP,则该参数生效。
TaskOption.HttpHeader String token:testTokenValue

HTTP请求的Header。格式为参数名:参数,多个参数之间用回车符分隔,例如:


params1:value1
params2:value2
TaskOption.Interval Integer 60

探测频率。单位:秒。取值:15、30、60、120、300、900、1800和3600。

说明 仅3.5.1及以上版本的云监控插件支持该参数。
AlertConfig.NotifyType Integer 0

报警通知类型。取值:

0:邮件+钉钉机器人。

AlertConfig.StartTime Integer 0

报警生效的开始时间。取值范围:0~23。

例如:AlertConfig.StartTime为0,AlertConfig.EndTime为22,表示报警生效时间为00:00:00至22:00:00。

说明 如果报警不在生效时间内,则超过阈值也不会发送报警通知。
AlertConfig.EndTime Integer 22

报警生效的结束时间。取值范围:0~23。

例如:AlertConfig.StartTime为0,AlertConfig.EndTime为22,表示报警生效时间为00:00:00至22:00:00。

说明 如果报警不在生效时间内,则超过阈值也不会发送报警通知。
AlertConfig.SilenceTime Integer 86400

通道沉默时间。单位:秒,默认值:86400(1天)。

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

URL回调地址。

AlertConfigEscalationList.N.MetricName String HttpStatus

报警的监控项。N的取值范围:1~21。取值:

  • HttpStatus:HTTP状态码。
  • HttpLatency:HTTP等待时间。
  • TelnetStatus:Telnet状态码。
  • TelnetLatency:Telnet等待时间。
  • PingLostRate:Ping丢包率。
AlertConfigEscalationList.N.Value String 90

报警阈值。N的取值范围:1~21。

AlertConfigEscalationList.N.Times Integer 3

报警重试次数。N的取值范围:1~21。

AlertConfigEscalationList.N.Operator String >

报警规则比较符号。N的取值范围:1~21。取值:

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

报警统计方法。N的取值范围:1~21。不同监控项的取值如下:

  • HttpStatus:Value。
  • HttpLatency:Average。
  • TelnetStatus:Value。
  • TelnetLatency:Average。
  • PingLostRate:Average。
说明 状态码类的统计方法为原始值(Value),延时时间或丢包率的统计方法为平均值(Average)。
InstanceList.N String 2

发起探测的ECS实例列表。N的取值范围:1~21。

说明TaskScopeGROUP_SPEC_INSTANCE时,需要设置该参数。
AlertConfigTargetList.N.Id String 1

报警触发目标ID。

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

资源ARN。格式为acs:{云产品缩写}:{regionId}:{userId}:/{资源类型}/{资源名称}/message。例如:acs:mns:cn-hangzhou:120886317861****:/queues/test123/message。参数说明如下:

  • {云产品缩写}:目前仅支持消息服务MNS。
  • {userId}:阿里云账号ID。
  • {regionId}:消息队列或主题所在地域。
  • {资源类型}:接收报警的资源类型。取值: - **queues**:队列。 - **topics**:主题。 - {资源名称}:资源名称。 - 如果资源类型为**queues**,则资源名称为队列名称。 - 如果资源类型为**topics**,则资源名称为主题名称。
AlertConfigTargetList.N.Level String ["INFO", "WARN", "CRITICAL"]

报警级别。取值:

  • INFO:信息。
  • WARN:警告。
  • CRITICAL:紧急。
AlertConfigTargetList.N.JsonParams String {"customField1":"value1","customField2":"$.name"}

报警回调的JSON格式参数。

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
Code String 200

状态码。

说明 200表示成功。
Message String The specified resource is not found.

错误信息。

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

请求ID。

TaskId Long 12345

可用性监控任务ID。

Success Boolean true

操作是否成功。取值:

  • true:成功。
  • false:失败。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateHostAvailability
&AlertConfig.NotifyType=0
&AlertConfigEscalationList.1.MetricName=HttpStatus
&GroupId=123456
&TaskName=task1
&TaskType=HTTP
&<公共请求参数>

正常返回示例

XML格式

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格式

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

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

错误码

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