调用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****"}] | 资源信息,例如: 关于资源信息支持的维度Dimensions,请参见云产品监控项。 |
ContactGroups | String | 是 | ECS_Group | 报警联系组。报警通知会发送给该报警联系组中的报警联系人。 说明 报警联系组是一组报警联系人,可以包含一个或多个报警联系人。关于如何创建报警联系人和报警联系组,请参见PutContact和PutContactGroup。 |
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级别报警统计方法。 该参数的取值由指定云产品的 说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。 |
Escalations.Critical.ComparisonOperator | String | 否 | GreaterThanOrEqualToThreshold | Critical级别阈值比较符。取值:
说明 报警级别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级别报警统计方法。 该参数的取值由指定云产品的 说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。 |
Escalations.Warn.ComparisonOperator | String | 否 | GreaterThanOrEqualToThreshold | Warn级别阈值比较符。取值:
说明 报警级别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级别报警统计方法。 该参数的取值由指定云产品的 说明 报警级别Critical(严重)、Warn(警告)或Info(信息)至少设置一个,且该报警级别中的参数Statistics、ComparisonOperator、Threshold和Times必须同时设置。 |
Escalations.Info.ComparisonOperator | String | 否 | GreaterThanOrEqualToThreshold | Info级别阈值比较符。取值:
说明 报警级别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 | 无监控数据时报警的处理方式。取值:
|
CompositeExpression | Object | 否 | 多指标的报警条件。 说明 单指标和多指标互斥,不能同时设置。 |
|
ExpressionList | Array | 否 | 标准创建的报警条件列表。 |
|
MetricName | String | 否 | cpu_total | 云产品的监控项名称。 |
ComparisonOperator | String | 否 | GreaterThanOrEqualToThreshold | 阈值比较符。取值:
|
Period | Long | 否 | 60 | 监控项的聚合周期。 单位:秒。 |
Statistics | String | 否 | $Maximum | 监控项的统计方法。取值:
说明 $ 为监控项的统一前缀符号。支持的云产品,请参见云产品监控项。 |
Threshold | String | 否 | 90 | 报警阈值。 |
ExpressionListJoin | String | 否 | || | 多指标报警条件之间的关系。取值:
|
ExpressionRaw | String | 否 | $Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50) | 表达式创建的报警条件。包括但不限于以下情况:
|
Level | String | 否 | Critical | 报警级别。取值:
|
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 | 报警级别。取值:
|
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 | 操作是否成功。取值:
|
示例
请求示例
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 | 超过数量限制。 |
访问错误中心查看更多错误码。