更新时间:2024-11-22 GMT+08:00

创建告警规则

功能介绍

创建一条告警规则。

告警规则V1接口只支持配置单资源单策略规则,建议使用创建告警规则(推荐)与前端功能配套使用。

调试

您可以在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"
    }

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

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

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

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

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

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

错误码

请参考返回错误码说明