创建告警规则
功能介绍
创建一条告警规则。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /V1.0/{project_id}/alarms
- 参数说明
表1 参数说明 名称
是否必选
说明
project_id
是
项目ID。
获取方式请参见获取项目ID。
- 样例
POST https://{云监控的endpoint}/V1.0/{project_id}/alarms
请求消息
- 请求参数
表2 请求参数 名称
是否必选
参数类型
说明
alarm_name
是
String
告警名称,只能包含0-9/a-z/A-Z/_/-或汉字,长度1-128。
alarm_description
否
String
告警描述,长度0-256。
metric
是
Object
告警指标。
详细参数请参见表3。
condition
是
Object
告警触发条件。
详细参数请参见表8。
alarm_enabled
否
Boolean
是否启用该条告警,默认为true。
alarm_action_enabled
否
Boolean
是否启用该条告警触发的动作,默认为true。
说明:若alarm_action_enabled为true,对应的alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions至少有一个不能为空。
若alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions同时存在时,notificationList值保持一致。
enterprise_project_id
否
String
企业项目ID。
默认值为0,表示默认的企业项目default。
alarm_level
否
Integer
告警级别,默认为2,级别为1、2、3、4。分别对应紧急、重要、次要、提示。
alarm_type
否
String
告警类型。
针对事件类型的告警时,告警类型为EVENT.SYS(系统事件)或EVENT.CUSTOM(自定义事件)。
alarm_actions
否
Array of objects
告警触发的动作。
结构样例如下:
{
"type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"]
}
详细参数请参见表5。
ok_actions
否
Array of objects
告警恢复触发的动作。
结构如下:
{ "type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"] }
详细参数请参见表6。
insufficientdata_actions
否
Array of objects
数据不足触发的动作(该参数已废弃,建议无需配置)。
结构如下:
{ "type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"] }
详细参数请参见表7。
表3 metric字段数据结构说明 名称
是否必选
参数类型
说明
namespace
是
String
服务的命名空间,各服务命名空间请参考支持监控的服务列表。
格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。
dimensions
否
Array of objects
指标维度列表,如果不使用resource_group_id,则dimensions值必填。
详细参数请参见表4。
metric_name
是
String
指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。
具体指标名请参见查询指标列表中查询出的指标名。
resource_group_id
否
String
创建告警规则时选择的资源分组ID,如:rg1603786526428bWbVmk4rP
说明:如果根据资源分组创建告警规则,则resource_group_id不能为空,dimensions中至少指定一个维度信息,name不能为空,且alarm_type值为RESOURCE_GROUP。
表4 dimensions字段数据结构说明 名称
是否必选
参数类型
说明
name
是
String
监控维度名称,例如弹性云服务器的维度为instance_id。各服务维度请参考支持监控的服务列表,可参考维度中key字段。
必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为32。
value
是
String
维度取值,例如弹性云服务器的ID。
维度取值,例如弹性云服务器ID。
必须以字母或数字开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为256。
表5 alarm_actions字段数据结构说明 名称
是否必选
参数类型
说明
type
是
String
告警通知类型,取值如下:- notification:通知。
- autoscaling:弹性伸缩。
notificationList
是
Array of strings
告警状态发生变化时,被通知对象的列表。通知对象ID最多可以配置5个。topicUrn可从SMN获取,具体操作请参考查询Topic列表。
当type为notification时,notificationList列表不能为空;当type为autoscaling时,列表必须为[]。
说明:- 若要使Auto Scaling告警规则生效,必须绑定伸缩策略,具体操作请参考创建弹性伸缩策略。
- 若alarm_action_enabled为true,对应的alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions至少有一个不能为空。
- 若alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions同时存在时,notificationList值保持一致。
- 被通知对象的ID列表的参数类型为字符串。
表6 ok_actions字段数据结构说明 名
是否必选
参数类型
说明
type
是
String
告警恢复触发告警通知类型,取值如下:- notification:通知。
- autoscaling:弹性伸缩。
notificationList
是
Array of objects
告警状态发生变化时,被通知对象的列表,通知对象列表为字符串。列表最长为5。topicUrn可从SMN获取,具体操作请参考查询Topic列表。
说明:若alarm_action_enabled为true,对应的alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions至少有一个不能为空。
若alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions同时存在时,notificationList值保持一致。
表7 insufficientdata_actions字段数据结构说明 名称
是否必选
参数类型
说明
type
是
String
告警恢复触发告警通知类型,取值如下:- notification:通知。
- autoscaling:弹性伸缩。
notificationList
是
Array of objects
告警状态发生变化时,被通知对象的列表。通知对象ID最多可以配置5个。topicUrn可从SMN获取,具体操作请参考查询Topic列表。
说明:- 若alarm_action_enabled为true,对应的alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions至少有一个不能为空。
- 若alarm_actions、insufficientdata_actions(该参数已废弃,建议无需配置)、ok_actions同时存在时,notificationList值保持一致。
- 被通知对象的ID列表的参数类型为字符串。
表8 condition字段数据结构说明 名称
是否必选
参数类型
说明
period
是
Integer
告警条件判断周期,单位为秒,支持的值为1,300,1200,3600,14400,86400。
说明:- 当period设置为1时,表示以原始的指标数据判断告警。
filter
是
String
数据聚合的方式,支持max、min、average、sum、variance,分别表示最大值、最小值、平均值、求和值、方差值。
comparison_operator
是
String
告警阈值的比较条件,可以是>、=、<、>=、<=。
value
是
Double
告警阈值,取值范围[0, Number.MAX_VALUE],Number.MAX_VALUE值为1.7976931348623157e+108。
具体阈值取值请参见附录中各服务监控指标中取值范围,如支持监控的服务列表中ECS的CPU使用率cpu_util取值范围可配置80。
unit
否
String
数据的单位,最大长度为32位。
count
是
Integer
触发告警连续发生次数,取值范围[1, 5]。
suppress_duration
否
Integer
发送告警的周期。值可为0、300、600、900、1800、3600、10800、21600、43200、86400。0表示只告警一次,300表示每5分钟告警一次,600表示每10分钟告警一次,900表示每15分钟告警一次,1800表示每30分钟告警一次,3600表示每1小时告警一次,10800表示每3小时告警一次,21600表示每6小时告警一次,43200表示每12小时告警一次,86400表示每1天告警一次。
- 请求样例1
创建指标告警规则
{ "alarm_name": "alarm-rp0E", "alarm_description": "", "metric": { "namespace": "SYS.ECS", "dimensions": [ { "name": "instance_id", "value": "33328f02-3814-422e-b688-bfdba93d4051" } ], "metric_name": "network_outgoing_bytes_rate_inband" }, "condition": { "period": 300, "filter": "average", "comparison_operator": ">=", "value": 6, "unit": "Byte/s", "count": 1 }, "alarm_enabled": true, "alarm_action_enabled": true, "alarm_level": 2, "alarm_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ], "ok_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ], "insufficientdata_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ] }
- 请求样例2
{ "alarm_name": "alarm-test", "metric": { "namespace": "SYS.ECS", "metric_name": "instance_resize_scheduled", "dimensions": [ { "name": "instance_id", "value": "d53692e5-828b-495b-a5e2-a1b227f6034c" } ] }, "condition": { "comparison_operator": ">=", "count": 1, "filter": "average", "period": 0, "unit": "count", "value": 1 }, "alarm_enabled": true, "alarm_action_enabled": true, "alarm_level": 2, "alarm_type": "EVENT.SYS", "alarm_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:ce8476c174f94c6991ea7885e3380d99:sd"] } ], "ok_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:ce8476c174f94c6991ea7885e3380d99:sd"] } ] }
响应消息
- 响应参数
表9 响应参数 名称
参数类型
说明
alarm_id
String
告警规则的ID。
- 响应样例
{ "alarm_id":"al1450321795427dR8p5mQBo" }
返回值
错误码
请参考返回错误码说明。