PutResourceMetricRule - 为指定资源的指定监控项设置一条阈值报警规则

设置报警规则

接口说明

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

说明 2024-08-15 增加 Statistics 校验,统计值只能填对应指标的 Statistics。关于如何获取该参数的取值,请参见云产品监控项

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
cms:PutResourceMetricRulecreate
  • 全部资源
    *

请求参数

名称类型必填描述示例值
RuleIdstring

报警规则 ID。

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

说明 输入新的报警规则 ID,表示创建一条阈值报警规则。
a151cd6023eacee2f0978e03863cc1697c89508****
RuleNamestring

报警规则名称。

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

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

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

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

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

说明 当您为企业云监控创建 Prometheus 报警规则时,该参数为指标仓库名称。关于如何获取指标仓库名称,请参见 DescribeHybridMonitorNamespaceList
cpu_total
Resourcesstring

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

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

[{"instanceId":"i-uf6j91r34rnwawoo****"}]
ContactGroupsstring

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

说明 报警联系组是一组报警联系人,可以包含一个或多个报警联系人。关于如何创建报警联系人和报警联系组,请参见 PutContactPutContactGroup
ECS_Group
Webhookstring

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

https://alert.aliyun.com.com:8080/callback
EffectiveIntervalstring

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

00:00-23:59
NoEffectiveIntervalstring

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

00:00-06:00
SilenceTimeinteger

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

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

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

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

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

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

报警邮件主题。

ECS实例报警
Escalations.Critical.Statisticsstring

Critical 级别报警统计方法。

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

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

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

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

Critical 级别报警阈值。

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

Critical 级别报警重试次数。

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

Warn 级别报警统计方法。

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

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

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

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

Warn 级别报警阈值。

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

Warn 级别报警重试次数。

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

Info 级别报警统计方法。

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

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

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

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

Info 级别报警阈值。

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

Info 级别报警重试次数。

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

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

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

多指标的报警条件。

说明 单指标和多指标互斥,不能同时设置。
ExpressionListarray<object>

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

object

无。

MetricNamestring

云产品的监控项名称。

cpu_total
Periodlong

监控项的聚合周期。

单位:秒。

60
Statisticsstring

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

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

阈值比较符。取值:

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

报警阈值。

90
ExpressionListJoinstring

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

  • &&:当所有指标都符合报警条件时,才触发报警。当 ExpressionList 下各表达式均为true时,才触发报警。

  • ||:其中一个指标符合报警条件,即触发报警。

||
ExpressionRawstring

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

  • 为部分资源设置报警黑名单,例如:$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 个时,才进行报警。
$Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50)
Levelstring

报警级别。取值:

  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
CRITICAL
Timesinteger

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

3
Labelsarray<object>

当监控项达到报警条件并进行报警时,标签同时写入监控项,在报警通知中进行展示。

说明 该功能与 Prometheus 报警中的 Label 相同。
object

无。

Keystring

标签键。

tagKey1
Valuestring

标签值。

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

Prometheus 报警。

说明 仅当您为企业云监控创建 Prometheus 报警规则,需要设置该参数。
PromQLstring

PromQL 查询语句。

说明 通过 PromQL 查询语句获取的数据即为报警数据,请您在该语句中携带报警阈值。
cpuUsage{instanceId="xxxx"}[1m]>90
Levelstring

报警级别。取值:

  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
CRITICAL
Timesinteger

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

3
Annotationsarray<object>

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

说明 该功能等同于 Prometheus 的 Annotation。
object

无。

Keystring

注释的键。

summary
Valuestring

注释的值。

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

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

返回参数

名称类型描述示例值
object

无。

Codestring

状态码。

说明 200 表示成功。
200
Messagestring

错误信息。

The request processing has failed due to some unknown error.
RequestIdstring

请求 ID。

65D50468-ECEF-48F1-A6E1-D952E89D9436
Successboolean

操作是否成功。取值:

  • true:成功。

  • false:失败。

true

示例

正常返回示例

JSON格式

{
  "Code": "200",
  "Message": "The request processing has failed due to some unknown error.",
  "RequestId": "65D50468-ECEF-48F1-A6E1-D952E89D9436",
  "Success": true
}

错误码

HTTP status code错误码错误信息描述
204%s%s-
429ResourceOverLimitThe resource has exceeded the limit. %s超过数量限制。
500InternalErrorThe request processing has failed due to some unknown error.-

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

变更历史

变更时间变更内容概要操作
2024-04-01OpenAPI 错误码发生变更查看变更详情
2022-12-26OpenAPI 错误码发生变更查看变更详情
2022-08-05OpenAPI 错误码发生变更查看变更详情