调用PutResourceMetricRule接口为指定资源的指定监控项设置一条阈值报警规则。

本文将提供一个示例,为云服务器ECS acs_ecs_dashboard的实例i-uf6j91r34rnwawoo****中的监控项cpu_total设置阈值报警规则。该报警规则的报警联系组为ECS_Group、报警规则名称为test123、报警规则ID为a151cd6023eacee2f0978e03863cc1697c89508****、Critical级别的统计方法为Average、Critical级别的比较符为GreaterThanOrEqualToThreshold、Critical级别的阈值为90和Critical级别的报警重试次数为3

调试

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

请求参数

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

系统规定参数。取值:PutResourceMetricRule

RuleId String a151cd6023eacee2f0978e03863cc1697c89508****

报警规则ID。

您可以输入新的报警规则ID,也可以使用云监控已存在的报警规则ID。关于如何查询报警规则ID,请参见DescribeMetricRuleList

说明 输入新的报警规则ID,表示创建一条阈值报警规则。
RuleName String test123

报警规则名称。

您可以输入新的报警规则名称,也可以使用云监控已存在的报警规则名称。关于如何查询报警规则名称,请参见DescribeMetricRuleList

说明 输入新的报警规则名称,表示创建一条阈值报警规则。
Namespace String acs_ecs_dashboard

云产品的数据命名空间。关于如何查询云产品的数据命名空间,请参见云产品监控项

说明 当您为企业云监控创建Prometheus报警规则时,该参数必须为acs_prometheus
MetricName String cpu_total

监控项名称。关于如何查询监控项名称,请参见云产品监控项

说明 当您为企业云监控创建Prometheus报警规则时,该参数为指标仓库名称。关于如何获取指标仓库名称,请参见DescribeHybridMonitorNamespaceList
Resources String [{"instanceId":"i-uf6j91r34rnwawoo****"}]

资源信息,例如:[{"instanceId":"i-uf6j91r34rnwawoo****"}][{"userId":"100931896542****"}]

关于资源信息支持的维度Dimensions,请参见云产品监控项

ContactGroups String ECS_Group

报警联系组。报警通知会发送给该报警联系组中的报警联系人。

说明 报警联系组是一组报警联系人,可以包含一个或多个报警联系人。关于如何创建报警联系人和报警联系组,请参见PutContactPutContactGroup
Webhook String https://alert.aliyun.com.com:8080/callback

报警发生回调时指定的URL地址,向URL发送POST请求。

EffectiveInterval String 00:00-23:59

报警规则的生效时间范围。

NoEffectiveInterval String 00:00-06:00

报警规则的失效时间范围。

SilenceTime Integer 86400

通道沉默周期。单位:秒,默认值:86400。

说明 通道沉默周期是指报警发生后未恢复正常,间隔多久重新发送一次报警通知。
Period String 60

监控项的统计周期。单位:秒。默认为监控项的原始上报周期。

说明 关于如何查询监控项的统计周期,请参见云产品监控项
Interval String 60

报警规则的触发周期。单位:秒。

说明 关于如何查询监控项的统计周期,请参见云产品监控项
EmailSubject String ECS实例报警

报警邮件主题。

Escalations.Critical.Statistics String Average

Critical级别报警统计方法。

该参数的取值由指定云产品的MetricName对应的Statistics列决定,例如:Maximum、Minimum和Average。关于如何获取该参数的取值,请参见云产品监控项

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Critical.ComparisonOperator String GreaterThanOrEqualToThreshold

Critical级别阈值比较符。取值:

  • GreaterThanOrEqualToThreshold:大于等于。
  • GreaterThanThreshold:大于。
  • LessThanOrEqualToThreshold:小于等于。
  • LessThanThreshold:小于。
  • NotEqualToThreshold:不等于。
  • GreaterThanYesterday:同比昨天时间上涨。
  • LessThanYesterday:同比昨天时间下降。
  • GreaterThanLastWeek:同比上周同一时间上涨。
  • LessThanLastWeek:同比上周同一时间下降。
  • GreaterThanLastPeriod:环比上周期上涨。
  • LessThanLastPeriod:环比上周期下降。
说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Critical.Threshold String 90

Critical级别报警阈值。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Critical.Times Integer 3

Critical级别报警重试次数。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Warn.Statistics String Average

Warn级别报警统计方法。

该参数的取值由指定云产品的MetricName对应的Statistics列决定,例如:Maximum、Minimum和Average。关于如何获取该参数的取值,请参见云产品监控项

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Warn.ComparisonOperator String GreaterThanOrEqualToThreshold

Warn级别阈值比较符。取值:

  • GreaterThanOrEqualToThreshold:大于等于。
  • GreaterThanThreshold:大于。
  • LessThanOrEqualToThreshold:小于等于。
  • LessThanThreshold:小于。
  • NotEqualToThreshold:不等于。
  • GreaterThanYesterday:同比昨天时间上涨。
  • LessThanYesterday:同比昨天时间下降。
  • GreaterThanLastWeek:同比上周同一时间上涨。
  • LessThanLastWeek:同比上周同一时间下降。
  • GreaterThanLastPeriod:环比上周期上涨。
  • LessThanLastPeriod:环比上周期下降。
说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Warn.Threshold String 90

Warn级别报警阈值。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Warn.Times Integer 3

Warn级别报警重试次数。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Info.Statistics String Average

Info级别报警统计方法。

该参数的取值由指定云产品的MetricName对应的Statistics列决定,例如:Maximum、Minimum和Average。关于如何获取该参数的取值,请参见云产品监控项

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Info.ComparisonOperator String GreaterThanOrEqualToThreshold

Info级别阈值比较符。取值:

  • GreaterThanOrEqualToThreshold:大于等于。
  • GreaterThanThreshold:大于。
  • LessThanOrEqualToThreshold:小于等于。
  • LessThanThreshold:小于。
  • NotEqualToThreshold:不等于。
  • GreaterThanYesterday:同比昨天时间上涨。
  • LessThanYesterday:同比昨天时间下降。
  • GreaterThanLastWeek:同比上周同一时间上涨。
  • LessThanLastWeek:同比上周同一时间下降。
  • GreaterThanLastPeriod:环比上周期上涨。
  • LessThanLastPeriod:环比上周期下降。
说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Info.Threshold String 90

Info级别报警阈值。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
Escalations.Info.Times Integer 3

Info级别报警重试次数。

说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。
NoDataPolicy String KEEP_LAST_STATE

无监控数据时报警的处理方式。取值:

  • KEEP_LAST_STATE(默认值):不做任何处理。
  • INSUFFICIENT_DATA:报警内容为无数据。
  • OK:正常。
CompositeExpression Object

多指标的报警条件。

说明 单指标和多指标互斥,不能同时设置。
ExpressionList Array

标准创建的报警条件列表。

MetricName String cpu_total

云产品的监控项名称。

ComparisonOperator String GreaterThanOrEqualToThreshold

阈值比较符。取值:

  • GreaterThanOrEqualToThreshold:大于等于。
  • GreaterThanThreshold:大于。
  • LessThanOrEqualToThreshold:小于等于。
  • LessThanThreshold:小于。
  • NotEqualToThreshold:不等于。
  • GreaterThanYesterday:同比昨天时间上涨。
  • LessThanYesterday:同比昨天时间下降。
  • GreaterThanLastWeek:同比上周同一时间上涨。
  • LessThanLastWeek:同比上周同一时间下降。
  • GreaterThanLastPeriod:环比上周期上涨。
  • LessThanLastPeriod:环比上周期下降。
Period Long 60

监控项的聚合周期。

单位:秒。

Statistics String $Maximum

监控项的统计方法。取值:

  • $Maximum:最大值。
  • $Minimum:最小值。
  • $Average:平均值。
  • $Availability:可用率(通常用于站点监控)。
说明 $为监控项的统一前缀符号。支持的云产品,请参见云产品监控项
Threshold String 90

报警阈值。

ExpressionListJoin String ||

多指标报警条件之间的关系。取值:

  • &&:当所有指标都符合报警条件时,才触发报警。当ExpressionList下各表达式均为true时,才触发报警。
  • ||:其中一个指标符合报警条件,即触发报警。
ExpressionRaw String $Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50)

表达式创建的报警条件。包括但不限于以下情况:

  • 为部分资源设置报警黑名单,例如:$instanceId != 'i-io8kfvcpp7x5****' && $Average > 50,表示当报警规则中的实例i-io8kfvcpp7x5****Average大于50时,也不会产生报警。
  • 对规则中的指定实例设置特殊报警阈值,例如:$Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50),表示当报警规则中的实例i-io8kfvcpp7x5****Average大于80时,才报警,其他实例的Average大于50,即可报警。
  • 对规则中超过阈值的实例数量进行限制,例如:count($Average > 20) > 3,表示当报警规则中的Average大于20的实例数大于3个时,才进行报警。
Level String Critical

报警级别。取值:

  • Critical:严重。
  • Warn:警告。
  • Info:信息。
Times Integer 3

发出报警通知需要达到报警条件的次数。

Labels.N.Key String tagKey1

标签键。

Labels.N.Value String ECS

标签值。

说明 标签值支持模板参数,将模板参数替换为实际标签值。
Prometheus Object

Prometheus报警。

说明 仅当您为企业云监控创建Prometheus报警规则,需要设置该参数。
PromQL String cpuUsage{instanceId="xxxx"}[1m]>90

PromQL查询语句。

说明 通过PromQL查询语句获取的数据即为报警数据,请您在该语句中携带报警阈值。
Level String Critical

报警级别。取值:

  • Critical:严重。
  • Warn:警告。
  • Info:信息。
Times Integer 3

发出报警通知需要达到报警条件的次数。

Annotations Array

Prometheus报警时,将注释的键和值进行渲染,易于您对监控项或报警规则的理解。

说明 该功能等同于Prometheus的Annotation。
Key String summary

注释的键。

Value String {{ $labels.instance }} CPU usage above 10% {current value: {{ humanizePercentage $value }} }

注释的值。

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

返回数据

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

状态码。

说明 200表示成功。
Message String The request processing has failed due to some unknown error.

错误信息。

RequestId String 65D50468-ECEF-48F1-A6E1-D952E89D9436

请求ID。

Success Boolean true

操作是否成功。取值:

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

示例

请求示例

http(s)://[Endpoint]/?Action=PutResourceMetricRule
&ContactGroups=ECS_Group
&MetricName=cpu_total
&Namespace=acs_ecs_dashboard
&Resources=[{"instanceId":"i-uf6j91r34rnwawoo****"}]
&RuleId=a151cd6023eacee2f0978e03863cc1697c89508****
&RuleName=test123
&Escalations.Critical.Statistics=Average
&Escalations.Critical.ComparisonOperator=GreaterThanOrEqualToThreshold
&Escalations.Critical.Threshold=90
&Escalations.Critical.Times=3
&<公共请求参数>

正常返回示例

XML格式

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

<PutResourceMetricRuleResponse>
	<Code>200</Code>
	<Message></Message>
	<RequestId>65D50468-ECEF-48F1-A6E1-D952E89D9436</RequestId>
	<Success>true</Success>
</PutResourceMetricRuleResponse>

JSON格式

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

{
  "Code" : "200",
  "Message" : "",
  "RequestId" : "65D50468-ECEF-48F1-A6E1-D952E89D9436",
  "Success" : true
}

错误码

HttpCode 错误码 错误信息 描述
429 ResourceOverLimit The resource has exceeded the limit. %s 超过数量限制。

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