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

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

调试

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

请求参数

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

要执行的操作,取值:DescribeMetricRuleList

MetricName String cpu_total

监控项名称。

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

EnableState Boolean true

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

  • true:启用。
  • false:禁用。
Namespace String acs_ecs_dashboard

云产品的命名空间。

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

Page Integer 1

页码。

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

PageSize Integer 10

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

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

AlertState String OK

报警规则状态。取值:

  • OK:正常。
  • ALARM:报警。
  • INSUFFICIENT_DATA:无数据。
Dimensions String {"instanceId":"i-2ze2d6j5uhg20x47****"}

报警规则维度。用于查询指定资源的监控数据。

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

RuleName String Rule_01

报警规则名称。

该参数支持模糊查询。

GroupId String 7301****

应用分组ID。

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

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

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

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

返回数据

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

状态码。

说明 200表示成功。
Message String The specified resource is not found.

错误信息。

RequestId String 386C6712-335F-5054-930A-CC92B851ECBA

请求ID。

Total String 1

总记录数。

Success Boolean true

操作是否成功。取值:

  • true:成功。
  • false:失败。
Alarms Array of Alarm

报警规则列表。

Alarm
SilenceTime Integer 86400

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

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

MetricName String cpu_total

监控项名称。

Webhook String https://www.aliyun.com

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

ContactGroups String ECS_Alarm

报警联系组。

SourceType String METRIC

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

Namespace String acs_ecs_dashboard

云服务的命名空间。

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

报警邮件主题。

NoEffectiveInterval String 00:00-05:30

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

EffectiveInterval String 05:31-23:59

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

RuleName String Rule_01

报警规则名称。

AlertState String OK

报警规则状态。取值:

  • OK:正常。
  • ALARM:报警。
  • INSUFFICIENT_DATA:无数据。
Period String 60

统计周期。

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

报警规则ID。

GroupName String ECS_Group

应用分组名称。

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

应用分组ID。

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

报警规则维度。

EnableState Boolean true

启用状态。取值:

  • true:启用。
  • false:禁用。
Resources String [{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]

报警规则关联的资源。

Escalations Object

报警分级别触发条件。

Info Object

Info级别报警触发条件。

ComparisonOperator String GreaterThanOrEqualToThreshold

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

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

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

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

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

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

Threshold String 90

Info级别报警阈值。

Statistics String Average

Info级别报警统计方法。

Warn Object

Warn级别报警触发条件。

ComparisonOperator String GreaterThanOrEqualToThreshold

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

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

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

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

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

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

Threshold String 90

Warn级别报警阈值。

Statistics String Average

Warn级别报警统计方法。

Critical Object

Critical级别报警触发条件。

ComparisonOperator String GreaterThanOrEqualToThreshold

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

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

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

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

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

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

Threshold String 90

Critical级别报警阈值。

Statistics String Average

Critical级别报警统计方法。

NoDataPolicy String KEEP_LAST_STATE

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

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

多指标的报警条件。

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

报警级别。取值:

  • Critical:严重。
  • Warn:警告。
  • Info:信息。
ExpressionList Array of ExpressionList

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

ExpressionList
MetricName String cpu_total

云产品的监控项名称。

ComparisonOperator String GreaterThanOrEqualToThreshold

阈值比较符。取值:

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

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

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

报警阈值。

Period Integer 60

监控项的聚合周期。

单位:秒。

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个时,才进行报警。
Times Integer 3

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

Labels Array of Labels

报警规则标签。

Labels
Key String cmsRuleKey

报警规则的标签键。

Value String cmsRuleValue

报警规则的标签值。

Prometheus Object

Prometheus报警。

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

PromQL查询语句。

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

报警级别。取值:

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

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

Annotations Array of Annotations

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

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

注释的键。

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

注释的值。

示例

请求示例

http(s)://[Endpoint]/?Action=DescribeMetricRuleList
&<公共请求参数>

正常返回示例

XML格式

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

<DescribeMetricRuleListResponse>
	<RequestId>386C6712-335F-5054-930A-CC92B851ECBA</RequestId>
	<Total>1</Total>
	<Alarms>
		<Alarm>
			<GroupName>ECS_Group</GroupName>
			<SilenceTime>86400</SilenceTime>
			<ContactGroups>ECS_Alarm</ContactGroups>
			<NoEffectiveInterval>00:00-05:30</NoEffectiveInterval>
			<GroupBy>group</GroupBy>
			<MailSubject>${serviceType}-${metricName}-${levelDescription}通知(${dimensions})</MailSubject>
			<SourceType>METRIC</SourceType>
			<RuleId>applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****</RuleId>
			<Period>60</Period>
			<Dimensions>
				<instanceId>i-2ze2d6j5uhg20x47****</instanceId>
			</Dimensions>
			<EffectiveInterval>05:31-23:59</EffectiveInterval>
			<Namespace>acs_ecs_dashboard</Namespace>
			<AlertState>OK</AlertState>
			<GroupId>7301****</GroupId>
			<MetricName>cpu_total</MetricName>
			<EnableState>true</EnableState>
			<Escalations>
				<Critical>
					<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
					<Times>3</Times>
					<Statistics>Average</Statistics>
					<Threshold>90</Threshold>
				</Critical>
				<Info>
					<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
					<Times>3</Times>
					<Statistics>Average</Statistics>
					<Threshold>90</Threshold>
				</Info>
				<Warn>
					<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
					<Times>3</Times>
					<Statistics>Average</Statistics>
					<Threshold>90</Threshold>
				</Warn>
			</Escalations>
			<Webhook>https://www.aliyun.com</Webhook>
			<Resources>[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]</Resources>
			<RuleName>Rule_01</RuleName>
		</Alarm>
	</Alarms>
	<Code>200</Code>
	<Success>true</Success>
</DescribeMetricRuleListResponse>

JSON格式

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

{
  "RequestId" : "386C6712-335F-5054-930A-CC92B851ECBA",
  "Total" : 1,
  "Alarms" : {
    "Alarm" : [ {
      "GroupName" : "ECS_Group",
      "SilenceTime" : 86400,
      "ContactGroups" : "ECS_Alarm",
      "NoEffectiveInterval" : "00:00-05:30",
      "GroupBy" : "group",
      "MailSubject" : "${serviceType}-${metricName}-${levelDescription}通知(${dimensions})",
      "SourceType" : "METRIC",
      "RuleId" : "applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****",
      "Period" : 60,
      "Dimensions" : [ {
        "instanceId" : "i-2ze2d6j5uhg20x47****"
      } ],
      "EffectiveInterval" : "05:31-23:59",
      "Namespace" : "acs_ecs_dashboard",
      "AlertState" : "OK",
      "GroupId" : "7301****",
      "MetricName" : "cpu_total",
      "EnableState" : true,
      "Escalations" : {
        "Critical" : {
          "ComparisonOperator" : "GreaterThanOrEqualToThreshold",
          "Times" : 3,
          "Statistics" : "Average",
          "Threshold" : "90"
        },
        "Info" : {
          "ComparisonOperator" : "GreaterThanOrEqualToThreshold",
          "Times" : 3,
          "Statistics" : "Average",
          "Threshold" : "90"
        },
        "Warn" : {
          "ComparisonOperator" : "GreaterThanOrEqualToThreshold",
          "Times" : 3,
          "Statistics" : "Average",
          "Threshold" : "90"
        }
      },
      "Webhook" : "https://www.aliyun.com",
      "Resources" : "[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]",
      "RuleName" : "Rule_01"
    } ]
  },
  "Code" : "200",
  "Success" : true
}

错误码

HttpCode 错误码 错误信息 描述
404 ResourceNotFound The specified resource is not found. 未找到指定资源。

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