更新时间:2022-02-22 GMT+08:00

创建告警规则

功能介绍

创建一条告警规则。

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值保持一致。

    alarm_level

    Integer

    告警级别,默认为2,级别为1、2、3、4。分别对应紧急、重要、次要、提示。

    alarm_actions

    Arrays of objects

    告警触发的动作。

    结构样例如下:

    {

    "type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"]

    }

    详细参数请参见表5

    ok_actions

    Arrays of objects

    告警恢复触发的动作。

    结构如下:

    { "type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"] }

    详细参数请参见表6

    表3 metric字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    namespace

    String

    服务的命名空间,例如弹性云服务器命名空间

    格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。

    dimensions

    Arrays of objects

    指标维度列表。

    详细参数请参见表4

    metric_name

    String

    指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。

    具体指标名请参见查询指标列表中查询出的指标名。

    resource_group_id

    String

    创建告警规则时选择的资源分组ID,如:rg1603786526428bWbVmk4rP

    表4 dimensions字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    name

    String

    监控维度名称,例如弹性云服务器的维度为instance_id,可参考维度中key字段。

    必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为32。

    value

    String

    必须以字母或数字开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为256。

    表5 alarm_actions字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    type

    String

    告警通知类型,取值如下:
    • notification:通知。
    • autoscaling:弹性伸缩。

    notificationList

    Arrays of strings

    告警状态发生变化时,被通知对象的列表。通知对象ID最多可以配置5个。topicUrn可从SMN获取,形如:urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}。

    当type为notification时,notificationList列表不能为空;当type为autoscaling时,列表必须为[]。

    说明:
    • 若要使Auto Scaling告警规则生效,必须绑定伸缩策略,具体操作请参考《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

    Arrays of objects

    告警状态发生变化时,被通知对象的列表,通知对象列表为字符串。通知对象ID最多可以配置5个。topicUrn可从SMN获取,形如:urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}。

    说明:

    若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

    Arrays of objects

    告警状态发生变化时,被通知对象的列表。列表最长为5,topicUrn可从SMN获取,形如:urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}。

    说明:
    • 若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。

    具体阈值取值请参见附录中各服务监控指标中取值范围,如监控指标中cpu_util取值范围可配置80。

    unit

    String

    数据的单位,最大长度为32位

    count

    Integer

    触发告警连续发生次数,取值范围[1, 5]

  • 请求样例
    {
        "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": "B/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"]
            }
        ]
    }

响应消息

  • 响应参数
    表9 响应参数

    名称

    参数类型

    说明

    alarm_id

    String

    告警规则的ID。

  • 响应样例
    { 
        "alarm_id":"al1450321795427dR8p5mQBo"
    }

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

    未提供认证信息,或认证信息错误。

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

    请求超出了服务器的等待时间。

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

    系统暂时不可用,请求受限。

错误码

请参考返回错误码说明