创建告警规则(推荐)
功能介绍
创建告警规则
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/alarms
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 租户ID。用于明确项目归属,配置后可通过该ID查询项目下资产,可以通过调用API获取,也可以从控制台获取。获取方式请参见“获取项目ID”。 约束限制: 不涉及。 取值范围: 字符串的长度必须在 1 到 64个字符之间。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
否 |
String |
参数解释: 发送的实体的MIME类型。 约束限制: 不涉及。 取值范围: 最小字符数量为1,最大为64。 默认取值: 默认使用application/json; charset=UTF-8。 默认取值: application/json; charset=UTF-8 |
X-Auth-Token |
否 |
String |
参数解释: 用户Token。 约束限制: 不涉及。 取值范围: 最小字符数量为1,最大为16384。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
参数解释: 告警规则类型 约束限制: 不涉及。 取值范围: 枚举值。
默认取值: 不涉及。 枚举值:
|
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 |
notification_enabled |
是 |
Boolean |
参数解释: 是否开启告警通知。 约束限制: 不涉及。 取值范围: 布尔值。
默认取值: 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则为子维度类型。 约束限制: 不涉及。 取值范围: 枚举值。
默认取值: 子维度。 枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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]|_|-|\.|\*|/|#|\(|\))*))$ |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
metric_name |
是 |
String |
参数解释: 资源的监控指标名称,各服务的指标名称可查看:“服务指标名称”。 约束限制: 不涉及。 取值范围: 必须以字母开头,只能包含0-9/a-z/A-Z/_/-。字符长度最短为1,最大为96。如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率。 默认取值: 不涉及。 |
period |
是 |
Integer |
参数解释: 指标周期,单位是秒。如想了解各个云服务的指标原始周期可以参考“支持服务列表”。 约束限制: 不涉及。 取值范围: 枚举值。
默认取值: 不涉及。 取值范围: 0-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-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}|)$ |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
参数解释: 通知类型。 约束限制: 不涉及。 取值范围: 枚举值。
默认取值: 不涉及。 枚举值:
|
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个通知对象。 |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
alarm_id |
String |
参数解释: 告警规则id。 约束限制: 不涉及。 取值范围: 以al开头,后跟22个数字或字母。 默认取值: 不涉及。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
请求异常内部业务状态码 |
error_msg |
String |
请求异常信息 |
request_id |
String |
请求ID |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
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 |
系统内部错误 |
错误码
请参见错误码。