DescribeMetricRuleList - 查询报警规则列表中的所有规则

调用DescribeMetricRuleList接口查询报警规则列表中的所有规则。

接口说明

本文将提供一个示例,查询当前阿里云账号下的报警规则列表中的所有报警规则。返回结果显示,报警规则列表中只有一条报警规则,该报警规则的名称为Rule_01、ID 为applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****

调试

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

授权信息

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

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

请求参数

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

监控项名称。

关于如何获取监控项名称,请参见 DescribeMetricMetaList云产品监控项

cpu_total
EnableStateboolean

报警规则的启用状态。取值:

  • true:启用。
  • false:禁用。
true
Namespacestring

云产品的命名空间。

关于如何获取云产品的命名空间,请参见 DescribeMetricMetaList云产品监控项

acs_ecs_dashboard
Pageinteger

页码。

起始值:1。默认值:1。

1
PageSizeinteger

分页时每页显示的数据行数。

起始值:1。默认值:10。

10
AlertStatestring

报警规则状态。取值:

  • OK:正常。
  • ALARM:报警。
  • INSUFFICIENT_DATA:无数据。
OK
Dimensionsstring

指定资源的监控维度。

格式:key:value键值对形式的集合,例如:{"userId":"120886317861****"}{"instanceId":"i-2ze2d6j5uhg20x47****"}

{"instanceId":"i-2ze2d6j5uhg20x47****"}
RuleNamestring

报警规则名称。

该参数支持模糊查询。

Rule_01
GroupIdstring

应用分组 ID。

关于如何获取应用分组 ID,请参见 DescribeMonitorGroups

7301****
RuleIdsstring

报警规则 ID。多个报警规则 ID 之间用半角逗号(,)分隔,一次最多可查询 20 条。

applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****

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

返回参数

名称类型描述示例值
object

无。

Codeinteger

状态码。

说明 200 表示成功。
200
Messagestring

错误信息。

The specified resource is not found.
RequestIdstring

请求 ID。

386C6712-335F-5054-930A-CC92B851ECBA
Totalstring

总记录数。

1
Successboolean

操作是否成功。取值:

  • true:成功。

  • false:失败。

true
Alarmsarray<object>

报警规则列表。

object

无。

SilenceTimeinteger

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

监控数据持续超过报警规则阈值时,每个沉默周期内只发送一次报警通知。

86400
MetricNamestring

监控项名称。

cpu_total
Webhookstring

报警发生回调时的 URL 地址。云监控会将报警信息通过 POST 请求推送到该地址,目前仅支持 HTTP 协议。

https://www.aliyun.com
ContactGroupsstring

报警联系组。

ECS_Alarm
SourceTypestring

报警规则类型。取值:METRIC,表示时序指标报警规则。

METRIC
Namespacestring

云服务的命名空间。

acs_ecs_dashboard
MailSubjectstring

报警邮件主题。

"${serviceType}-${metricName}-${levelDescription}通知(${dimensions})"
NoEffectiveIntervalstring

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

00:00-05:30
EffectiveIntervalstring

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

05:31-23:59
RuleNamestring

报警规则名称。

Rule_01
AlertStatestring

报警规则状态。取值:

  • OK:正常。
  • ALARM:报警。
  • INSUFFICIENT_DATA:无数据。
OK
Periodstring

统计周期。

60
RuleIdstring

报警规则 ID。

applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****
GroupNamestring

应用分组名称。

说明 如果报警规则关联到应用分组,此处显示该参数。
ECS_Group
GroupIdstring

应用分组 ID。

7301****
Dimensionsstring

报警规则维度。

[{"instanceId":"i-2ze2d6j5uhg20x47****"}]
EnableStateboolean

启用状态。取值:

  • true:启用。
  • false:禁用。
true
Resourcesstring

报警规则关联的资源。

[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]
Escalationsobject

报警分级别触发条件。

Infoobject

Info 级别报警触发条件。

ComparisonOperatorstring

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

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

Info 级别报警的前置条件。当参数 ComparisonOperator 设置为同比或环比时,与该参数共同起作用。

例如:该参数设置为$Average>80,ComparisonOperator 设置为 GreaterThanYesterday,Threshold 设置为 10,表示当平均值大于 80 且环比昨天上涨 10%时,触发报警。

说明 $Average>0 中的$Average 为一个占位符,格式为$监控结果字段值,云监控会将其替换为对应的统计值或原始的监控值。
$Average>80
Timesinteger

Info 级别报警连续出现次数。报警连续出现这个次数,且超过阈值才会触发报警。

3
Thresholdstring

Info 级别报警阈值。

90
Statisticsstring

Info 级别报警统计方法。

Average
Warnobject

Warn 级别报警触发条件。

ComparisonOperatorstring

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

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

Warn 级别报警的前置条件。当参数 ComparisonOperator 设置为同比或环比时,与该参数共同起作用。

例如:该参数设置为$Average>80,ComparisonOperator 设置为 GreaterThanYesterday,Threshold 设置为 10,表示当平均值大于 80 且环比昨天上涨 10%时,触发报警。

说明 $Average>0 中的$Average 为一个占位符,格式为$监控结果字段值,云监控会将其替换为对应的统计值或原始的监控值。
$Average>80
Timesinteger

Warn 级别报警连续出现次数。报警连续出现这个次数,且超过阈值才会触发报警。

3
Thresholdstring

Warn 级别报警阈值。

90
Statisticsstring

Warn 级别报警统计方法。

Average
Criticalobject

Critical 级别报警触发条件。

ComparisonOperatorstring

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

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

Critical 级别报警的前置条件。当参数 ComparisonOperator 设置为同比或环比时,与该参数共同起作用。

例如:该参数设置为$Average>80,ComparisonOperator 设置为 GreaterThanYesterday,Threshold 设置为 10,表示当平均值大于 80 且环比昨天上涨 10%时,触发报警。

说明 $Average>0 中的$Average 为一个占位符,格式为$监控结果字段值,云监控会将其替换为对应的统计值或原始的监控值。
$Average>80
Timesinteger

Critical 级别报警连续出现次数。报警连续出现这个次数,且超过阈值才会触发报警。

3
Thresholdstring

Critical 级别报警阈值。

90
Statisticsstring

Critical 级别报警统计方法。

Average
NoDataPolicystring

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

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

多指标的报警条件。

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

报警级别。取值:

  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
CRITICAL
ExpressionListarray<object>

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

object

无。

MetricNamestring

云产品的监控项名称。

cpu_total
Periodinteger

监控项的聚合周期。

单位:秒。

60
Statisticsstring

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

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

阈值比较符。取值:

  • GreaterThanOrEqualToThreshold:大于等于。
  • GreaterThanThreshold:大于。
  • LessThanOrEqualToThreshold:小于等于。
  • LessThanThreshold:小于。
  • NotEqualToThreshold:不等于。
  • 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)
Timesinteger

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

3
Labelsarray<object>

报警规则标签。

object

无。

Keystring

报警规则的标签键。

cmsRuleKey
Valuestring

报警规则的标签值。

cmsRuleValue
Prometheusobject

Prometheus 报警。

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

PromQL 查询语句。

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

报警级别。取值:

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

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

3
Annotationsarray<object>

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

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

无。

Keystring

注释的键。

summary
Valuestring

注释的值。

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

示例

正常返回示例

JSON格式

{
  "Code": 200,
  "Message": "The specified resource is not found.",
  "RequestId": "386C6712-335F-5054-930A-CC92B851ECBA",
  "Total": "1",
  "Success": true,
  "Alarms": {
    "Alarm": [
      {
        "SilenceTime": 86400,
        "MetricName": "cpu_total",
        "Webhook": "https://www.aliyun.com",
        "ContactGroups": "ECS_Alarm",
        "SourceType": "METRIC",
        "Namespace": "acs_ecs_dashboard",
        "MailSubject": "\"${serviceType}-${metricName}-${levelDescription}通知(${dimensions})\"",
        "NoEffectiveInterval": "00:00-05:30",
        "EffectiveInterval": "05:31-23:59",
        "RuleName": "Rule_01",
        "AlertState": "OK",
        "Period": "60",
        "RuleId": "applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****",
        "GroupName": "ECS_Group",
        "GroupId": "7301****",
        "Dimensions": "[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]",
        "EnableState": true,
        "Resources": "[{\\\"instanceId\\\":\\\"i-2ze2d6j5uhg20x47****\\\"}]",
        "Escalations": {
          "Info": {
            "ComparisonOperator": "GreaterThanOrEqualToThreshold",
            "PreCondition": "$Average>80",
            "Times": 3,
            "Threshold": "90",
            "Statistics": "Average"
          },
          "Warn": {
            "ComparisonOperator": "GreaterThanOrEqualToThreshold",
            "PreCondition": "$Average>80",
            "Times": 3,
            "Threshold": "90",
            "Statistics": "Average"
          },
          "Critical": {
            "ComparisonOperator": "GreaterThanOrEqualToThreshold",
            "PreCondition": "$Average>80",
            "Times": 3,
            "Threshold": "90",
            "Statistics": "Average"
          }
        },
        "NoDataPolicy": "KEEP_LAST_STATE",
        "CompositeExpression": {
          "Level": "CRITICAL",
          "ExpressionList": {
            "ExpressionList": [
              {
                "MetricName": "cpu_total",
                "Period": 60,
                "Statistics": "$Maximum",
                "ComparisonOperator": "GreaterThanOrEqualToThreshold",
                "Threshold": "90"
              }
            ]
          },
          "ExpressionListJoin": "||",
          "ExpressionRaw": "$Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50)",
          "Times": 3
        },
        "Labels": {
          "Labels": [
            {
              "Key": "cmsRuleKey",
              "Value": "cmsRuleValue"
            }
          ]
        },
        "Prometheus": {
          "PromQL": "CpuUsage{instanceId=\"xxxx\"}[1m]>90",
          "Level": "CRITICAL",
          "Times": 3,
          "Annotations": {
            "Annotations": [
              {
                "Key": "summary",
                "Value": "{{ $labels.instance }} CPU usage above 10% {current value: {{ humanizePercentage $value }} }"
              }
            ]
          }
        }
      }
    ]
  }
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameterThe specified parameter is not valid.-
403InvalidAuthorizationThe Request is not authorization.-
404ResourceNotFoundThe specified resource is not found.未找到指定资源。
500InternalErrorThe request processing has failed due to some unknown error.-

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

变更历史

变更时间变更内容概要操作
2023-08-29OpenAPI 错误码发生变更查看变更详情