更新时间:2025-08-26 GMT+08:00
分享

创建告警规则(推荐)

功能介绍

创建告警规则

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/alarms

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户ID。用于明确项目归属,配置后可通过该ID查询项目下资产,可以通过调用API获取,也可以从控制台获取。获取方式请参见“获取项目ID”。

约束限制:

不涉及。

取值范围:

字符串的长度必须在 1 到 64个字符之间。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

参数解释:

发送的实体的MIME类型。

约束限制:

不涉及。

取值范围:

最小字符数量为1,最大为64。

默认取值:

默认使用application/json; charset=UTF-8。

默认取值:

application/json; charset=UTF-8

X-Auth-Token

String

参数解释:

用户Token。

约束限制:

不涉及。

取值范围:

最小字符数量为1,最大为16384。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释

告警名称。

约束限制

不涉及。

取值范围

只能包含0-9/a-z/A-Z/_/-或汉字,长度[1,128]个字符。

默认取值

不涉及。

description

String

参数解释

告警描述。

约束限制

不涉及。

取值范围

长度为[0,256]个字符。

默认取值

不涉及。

namespace

String

参数解释

查询服务的命名空间,各服务命名空间请参考“服务命名名称”。

约束限制

不涉及。

取值范围

格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_。字符串的长度在 0 到 32个字符之间。

默认取值

不涉及。

resource_group_id

String

参数解释

资源分组ID

约束限制

不涉及。

取值范围

以rg开头,后跟22位由字母或数字组成的字符串。长度为[2,24]个字符。

默认取值

不涉及。

resources

Array<Array<Dimension>>

参数解释

资源列表。

约束限制

告警规则类型为全部资源、资源分组时,资源维度值传空;告警规则类型为指定资源时,资源维度值必填,可以同时指定监控多个资源。 最多可以指定1000个资源维度。

policies

Array of Policy objects

参数解释

告警策略。

约束限制

当alarm_template_id字段为空时必填,不为空时不填。最多包含50个策略。

type

String

参数解释

告警规则类型

约束限制

不涉及。

取值范围

枚举值。

  • ALL_INSTANCE:全部资源指标告警。

  • RESOURCE_GROUP:资源分组指标告警。

  • MULTI_INSTANCE:指定资源指标告警。

  • EVENT.SYS:系统事件告警。

  • EVENT.CUSTOM:自定义事件告警。

  • DNSHealthCheck:健康检查告警。

默认取值

不涉及。

枚举值:

  • EVENT.SYS

  • EVENT.CUSTOM

  • DNSHealthCheck

  • RESOURCE_GROUP

  • MULTI_INSTANCE

  • ALL_INSTANCE

alarm_notifications

Array of Notification objects

参数解释

触发告警时,通知组/主题订阅的信息。

约束限制

不涉及。

取值范围

包含的通知信息的数量最多为10个。

默认取值

不涉及。

ok_notifications

Array of Notification objects

参数解释

告警恢复时,通知组/主题订阅的信息。

约束限制

不涉及。

取值范围

包含的通知信息的数量最多为10个。

默认取值

不涉及。

notification_begin_time

String

参数解释

告警通知开启时间。

约束限制

不涉及。

取值范围

只能包含数字、“:”,长度为[1,64]个字符。

默认取值

不涉及。

notification_end_time

String

参数解释

告警通知关闭时间。

约束限制

不涉及。

取值范围

只能包含数字、“:”,长度为[1,64]个字符。

默认取值

不涉及。

effective_timezone

String

参数解释

时区,形如:"GMT-08:00"、"GMT+08:00"、"GMT+0:00"。

约束限制

不涉及。

取值范围

长度为[1,16]个字符。

默认取值

不涉及。

enterprise_project_id

String

参数解释

企业项目ID。

约束限制

不涉及。

取值范围

只能包含小写字母、数字、“-”。

默认取值

不涉及。

enabled

Boolean

参数解释

是否开启告警规则。

约束限制

不涉及。

取值范围

布尔值。

  • true:开启。

  • false:关闭。

默认取值

true

notification_enabled

Boolean

参数解释

是否开启告警通知。

约束限制

不涉及。

取值范围

布尔值。

  • true:开启。

  • false:关闭。

默认取值

true

alarm_template_id

String

参数解释

告警规则关联告警模板ID,如果传了,告警规则关联的策略会和告警模板策略联动变化。

约束限制

不涉及。

取值范围

以at开头,只包含字母、数字,长度为[2,64]个字符。

默认取值

不涉及。

tags

Array of ResourceTag objects

参数解释

租户标签列表。

约束限制

最多包含20个标签。

product_name

String

参数解释

产品层级跨维规则创建时需要指明的规则产品名称,一般由"服务命名空间,服务首层维度名称"组成,如"SYS.ECS,instance_id"。

约束限制

不涉及。

取值范围

长度为[0,128]个字符。

默认取值

不涉及。

正则匹配:^(([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-|\.){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-|\.){0,31}){0,3}|)$

resource_level

String

参数解释

产品层级跨维规则创建时需要指明为产品层级规则,resource_level取值为product即为云产品类型,不填或者取值为dimension则为子维度类型。

约束限制

不涉及。

取值范围

枚举值。

  • product:云产品。

  • dimension:子维度。

默认取值

子维度。

枚举值:

  • product

  • dimension

表4 Dimension

参数

是否必选

参数类型

描述

name

String

参数解释

资源维度,如:弹性云服务器,则维度为instance_id。各服务资源的指标维度名称可查看:“服务维度名称”。

约束限制

不涉及。

取值范围

以字母开头,只能包含字母、数字、“_”、“-”。

默认取值

不涉及。

正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-)*$

value

String

参数解释

资源维度值,为资源的实例ID,如:4270ff17-aba3-4138-89fa-820594c39755。

约束限制

不涉及。

取值范围

长度为[1,256]个字符。

默认取值

不涉及。

正则匹配:^((([a-z]|[A-Z]|[0-9]|\*|_|/|#|\(|\)){1}([a-z]|[A-Z]|[0-9]|_|-|\.|\*|/|#|\(|\))*))$

表5 Policy

参数

是否必选

参数类型

描述

metric_name

String

参数解释

资源的监控指标名称,各服务的指标名称可查看:“服务指标名称”。

约束限制

不涉及。

取值范围

必须以字母开头,只能包含0-9/a-z/A-Z/_/-。字符长度最短为1,最大为96。如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率。

默认取值

不涉及。

period

Integer

参数解释

指标周期,单位是秒。如想了解各个云服务的指标原始周期可以参考“支持服务列表”。

约束限制

不涉及。

取值范围

枚举值。

  • 0代表立即触发,仅限事件场景使用。

  • 1代表指标的原始周期,比如RDS监控指标原始周期是60s,表示该RDS指标按60s周期为一个数据点参与告警计算。

  • 300代表指标按5分钟聚合周期为一个数据点参与告警计算。

  • 1200代表指标按20分钟聚合周期为一个数据点参与告警计算。

  • 3600代表指标按1小时聚合周期为一个数据点参与告警计算。

  • 14400代表指标按4小时聚合周期为一个数据点参与告警计算。

  • 86400代表指标按1天聚合周期为一个数据点参与告警计算。

默认取值

不涉及。

取值范围:

0-86400

枚举值:

  • 0

  • 1

  • 300

  • 1200

  • 3600

  • 14400

  • 86400

filter

String

参数解释

聚合方式。

约束限制

不涉及。

取值范围

average: 平均值,variance:方差,min:最小值,max:最大值,sum:求和。

默认取值

不涉及。

comparison_operator

String

参数解释

阈值符号。

约束限制

指标告警可以使用的阈值符号有>、>=、<、<=、=、!=、cycle_decrease、cycle_increase、cycle_wave; 事件告警可以使用的阈值符号为>、>=、<、<=、=、!=。

取值范围

支持的值为(>|<|>=|<=|=|!=|cycle_decrease|cycle_increase|cycle_wave);cycle_decrease为环比下降,cycle_increase为环比上升,cycle_wave为环比波动。

默认取值

不涉及。

value

Number

参数解释

告警阈值。具体阈值取值请参见附录中各服务监控指标中取值范围。

约束限制

单一阈值时value和alarm_level配对使用,当hierarchical_value和value同时使用时以hierarchical_value为准。

取值范围

最小值为-1.7976931348623157e+108,最大值为1.7976931348623157e+108。

默认取值

不涉及。

hierarchical_value

HierarchicalValue object

参数解释

多层级告警阈值。

约束限制

当hierarchical_value和value同时使用时以hierarchical_value为准。

创建或修改告警规则以下2种场景只支持设置一个阈值:

1.告警类型为指标告警且告警策略为所有策略都满足才告警的场景。

2.告警类型为事件告警的场景。

unit

String

参数解释

数据的单位。

约束限制

不涉及。

取值范围

长度为[0,32]个字符。

默认取值

不涉及。

count

Integer

参数解释

告警连续触发次数。

约束限制

不涉及。

取值范围

事件告警时参数值为1~180(包括1和180);指标告警和站点告警时,次数采用枚举值,枚举值分别为:1、2、3、4、5、10、15、30、60、90、120、180。

默认取值

不涉及。

suppress_duration

Integer

参数解释

告警抑制时间,单位为秒,对应页面上创建告警规则时告警策略最后一个字段,该字段主要为解决告警频繁的问题。

约束限制

不涉及。

取值范围

枚举值,只能为0、300、600、900、1800、3600、10800、21600、43200、86400。

  • 0:在立即触发场景中,0代表不抑制;在累计触发场景,0代表只告警一次。

  • 300代表满足告警触发条件后每5分钟告警一次。

  • 600代表满足告警触发条件后每10分钟告警一次。

  • 900代表满足告警触发条件后每15分钟告警一次。

  • 1800代表满足告警触发条件后每30分钟告警一次。

  • 3600代表满足告警触发条件后每60分钟告警一次。

  • 10800代表满足告警触发条件后每3小时告警一次。

  • 21600代表满足告警触发条件后每6小时告警一次。

  • 43200代表满足告警触发条件后每12小时告警一次。

  • 86000代表满足告警触发条件后每一天告警一次。

默认取值

不涉及。

取值范围:

0-86400

枚举值:

  • 0

  • 300

  • 600

  • 900

  • 1800

  • 3600

  • 10800

  • 21600

  • 43200

  • 86400

level

Integer

参数解释

告警级别。

约束限制

不涉及。

取值范围

只能为1、2、3、4。1为紧急,2为重要,3为次要,4为提示。

默认取值

2

namespace

String

参数解释

产品层级规则增加namespace(服务命名空间)和dimension_name(服务维度名称,用于指明生效策略的资源归属。各服务命名空间请参考“服务命名空间”。

约束限制

不涉及。

取值范围

格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_。字符串的长度必须在0到32个字符之间。

默认取值

不涉及。

正则匹配:^((([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*\.([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*)|)$

dimension_name

String

参数解释

指标维度名称,各服务资源的指标维度名称可查看:“服务维度名称”。产品层级规则需要增加namespace(服务命名空间)和dimension_name(服务维度名称),用于指明策略生效的资源归属。

约束限制

不涉及。

取值范围

目前最大支持4个维度。举例:单维度场景:instance_id;多维度场景:instance_id,disk

默认取值

不涉及。

正则匹配:^(([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-|\.){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-|\.){0,31}){0,3}|)$

表6 HierarchicalValue

参数

是否必选

参数类型

描述

critical

Double

参数解释

紧急级别的阈值。

约束限制

不涉及。

取值范围

[-1.7976931348623157e+108, 1.7976931348623157e+108]

默认取值

不涉及。

取值范围:

-1.7976931348623156E108-1.7976931348623156E108

major

Double

参数解释

重要级别的阈值。

约束限制

不涉及。

取值范围

[-1.7976931348623157e+108, 1.7976931348623157e+108]

默认取值

不涉及。

取值范围:

-1.7976931348623156E108-1.7976931348623156E108

minor

Double

参数解释

次要级别的阈值。

约束限制

不涉及。

取值范围

[-1.7976931348623157e+108, 1.7976931348623157e+108]

默认取值

不涉及。

取值范围:

-1.7976931348623156E108-1.7976931348623156E108

info

Double

参数解释

提示级别的阈值。

约束限制

不涉及。

取值范围

[-1.7976931348623157e+108, 1.7976931348623157e+108]

默认取值

不涉及。

取值范围:

-1.7976931348623156E108-1.7976931348623156E108

表7 Notification

参数

是否必选

参数类型

描述

type

String

参数解释

通知类型。

约束限制

不涉及。

取值范围

枚举值。

  • notification:SMN通知。

  • contact:云账号联系人。

  • contactGroup:通知组。

  • autoscaling:AS通知,只在AS中使用,不推荐客户使用。

  • groupwatch:已废弃,不推荐使用。

  • ecsRecovery:已废弃,不推荐使用。

  • iecAction:已废弃,不推荐使用。

默认取值

不涉及。

枚举值:

  • notification

  • autoscaling

  • groupwatch

  • ecsRecovery

  • contact

  • contactGroup

  • iecAction

notification_list

Array of strings

参数解释

告警状态发生变化时,被通知对象的列表。topicUrn可从SMN获取,具体操作请参考查询Topic列表。

约束限制

当type为notification时,notification_list列表不能为空;当type为autoscaling时,列表必须为[]。若notification_enabled为true,对应的alarm_notifications、ok_notifications至少有一个不能为空。若alarm_notifications、ok_notification同时存在时,notification_list值保持一致。最多包含20个通知对象。

表8 ResourceTag

参数

是否必选

参数类型

描述

key

String

参数解释

标签名。

约束限制

不涉及。

取值范围

最大长度128个unicode字符。

默认取值

不涉及。

正则匹配:^((?!\s)(?!_sys_)[\p{L}\p{Z}\p{N}_.:=+\-@]*)(?<!\s)$

value

String

参数解释

标签值。

约束限制

不涉及。

取值范围

最大长度255个unicode字符。

默认取值

不涉及。

正则匹配:^([\p{L}\p{Z}\p{N}_.:\/=+\-@]*)$

响应参数

状态码:201

表9 响应Body参数

参数

参数类型

描述

alarm_id

String

参数解释

告警规则id。

约束限制

不涉及。

取值范围

以al开头,后跟22个数字或字母。

默认取值

不涉及。

状态码:400

表10 响应Body参数

参数

参数类型

描述

error_code

String

请求异常内部业务状态码

error_msg

String

请求异常信息

request_id

String

请求ID

状态码:500

表11 响应Body参数

参数

参数类型

描述

error_code

String

请求异常内部业务状态码

error_msg

String

请求异常信息

request_id

String

请求ID

请求示例

创建一个名称为alarm-lxy-rg-RDS,告警类型为资源分组指标告警,每24小时告警一次、告警级别重要的告警规则。

{
  "name" : "alarm-lxy-rg-RDS",
  "description" : "",
  "namespace" : "SYS.RDS",
  "type" : "RESOURCE_GROUP",
  "resources" : [ [ {
    "name" : "rds_cluster_id"
  } ] ],
  "policies" : [ {
    "metric_name" : "rds001_cpu_util",
    "period" : 1,
    "filter" : "average",
    "comparison_operator" : ">=",
    "value" : 0,
    "unit" : "%",
    "count" : 1,
    "suppress_duration" : 86400,
    "level" : 2
  } ],
  "enabled" : true,
  "notification_enabled" : false,
  "resource_group_id" : "rg1623429506587NbRweoa3J",
  "enterprise_project_id" : "a9d919b7-0456-4bb8-b470-6a23b64f4f7e",
  "alarm_template_id" : "at1628592157541dB1klWgY6"
}

响应示例

状态码:201

告警创建成功

{
  "alarm_id" : "alCzk8o9dtSQHtiDgb44Eepw"
}

状态码

状态码

描述

201

告警创建成功

400

参数校验失败

500

系统内部错误

错误码

请参见错误码

相关文档