调用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级别报警统计方法。取值:

  • Maximum:最大值。
  • Minimum:最小值。
  • Average:平均值。
  • Availability:可用率。
说明 报警级别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级别报警统计方法。取值:

  • Maximum:最大值。
  • Minimum:最小值。
  • Average:平均值。
  • Availability:可用率。
说明 报警级别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级别报警统计方法。取值:

  • Maximum:最大值。
  • Minimum:最小值。
  • Average:平均值。
  • Availability:可用率。
说明 报警级别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

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

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 }} }

注释的值。

Labels.N.Key String tagKey1

标签键。

Labels.N.Value String ECS

标签值。

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

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

返回数据

名称 类型 示例值 描述
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
}

错误码

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