更新时间:2024-01-04 GMT+08:00

创建自定义告警模板

功能介绍

创建自定义告警模板来添加一个或者多个指标的告警规则

调试

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

URI

POST /V1.0/{project_id}/alarm-template

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    项目ID。

    获取方式请参见获取项目ID

  • 样例
    POST https://{云监控的endpoint}/V1.0/{project_id}/alarm-template

请求消息

  • 请求参数
    表2 请求参数

    名称

    是否必选

    参数类型

    说明

    template_name

    String

    自定义告警模板名称,只能包含0-9/a-z/A-Z/_/-或汉字,长度为1-128。

    template_description

    String

    自定义告警模板详细描述,长度为0-256。

    namespace

    String

    创建自定义告警模板选择的资源类型,即服务命名空间,如选择弹性云服务器,则命名空间为SYS.ECS。

    须知:

    当选择的资源类型为“弹性云服务器中操作系统监控”,命名空间必须为SYS.ECS。

    dimension_name

    String

    资源类型对应的指标监控维度,选择弹性云服务器,则维度为云服务器,dimension_name值为instance_id。

    template_items

    Array of objects

    创建自定义告警模板添加一个或者多个指标的告警规则,目前最多可增加20组告警规则策略。

    表3 template_items字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    metric_name

    String

    告警模板添加的监控指标,如弹性云服务器可添加的监控指标为cpu_util等,各资源的监控指标名称可查看支持监控的服务列表

    condition

    Condition object

    创建自定义告警模板的告警策略。

    详细参数说明请参见表4

    alarm_level

    Integer

    设置告警级别,值为1、2、3、4。其中1为紧急,2为重要,3为次要,4为提示。

    表4 condition字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    comparison_operator

    String

    告警阈值的比较条件,可以是>、=、<、>=、<=。

    count

    Integer

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

    filter

    String

    数据聚合的方式,支持max、min、average、sum、variance,分别表示最大值、最小值、平均值、求和值、方差值。

    period

    Integer

    告警条件判断周期,单位为秒,支持的值为1,300,1200,3600,14400,86400。

    说明:

    当period设置为1时,表示以原始的指标数据判断告警。当alarm_type为(EVENT.SYS| EVENT.CUSTOM)时允许为0。

    unit

    String

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

    value

    Double

    告警阈值,取值范围[0, Number.MAX_VALUE],Number.MAX_VALUE值为1.7976931348623157e+108。具体阈值取值请参见支持监控的服务列表中各服务监控指标中取值范围,如支持监控的服务列表中ECS的CPU使用率cpu_util取值范围可配置80。

    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天告警一次。

  • 请求样例
    {
        "template_name": "alarmTemplate-Test01",
        "template_description": "创建自定义告警模板", 
        "namespace": "SYS.ECS",
        "dimension_name": "instance_id",
        "template_items": [
            {
               "metric_name": "cpu_util",
               "condition": {
                   "period": 1,
                   "filter": "average",
                   "comparison_operator": ">=",
                   "value": 90,
                   "unit": "%",
                   "count": 3,
                   "suppress_duration": 300
                },
               "alarm_level": 2
           },
           {
               "metric_name": "mem_util",
               "condition": {
                   "period": 1,
                   "filter": "average",
                   "comparison_operator": ">=",
                   "value": 90,
                   "unit": "%",
                   "count": 3,
                   "suppress_duration": 600
                },
               "alarm_level": 2
           }
       ]
     }
     

响应消息

  • 响应参数
    表5 响应参数

    名称

    参数类型

    说明

    template_id

    String

    告警模板的ID。

  • 响应样例
    { 
        "template_id":"at1603252280799wLRyGLxnz"
    }

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误。

    401 Unauthorized

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

    403 Forbidden

    请求页面被禁止访问。

    408 Request Timeout

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

    429 Too Many Requests

    当前请求过多。

    500 Internal Server Error

    请求未完成,服务异常。

    503 Service Unavailable

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

错误码

请参考返回错误码说明