更新时间:2025-08-13 GMT+08:00
分享

创建告警模板

功能介绍

该接口用于创建告警模板。

调用方法

请参见如何调用API

URI

POST /v4/{project_id}/alarm-rules-template

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,可以从控制台获取,也可以从调用API处获取。获取方式请参见:获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token。获取方式请参见:获取Token

Content-Type

String

消息体的类型(格式)。指定类型为“application/json”。

Enterprise-Project-Id

String

企业项目id。获取方式请参见:获取企业项目ID

  • 新增单个企业项目下告警模板,填写企业项目id。

  • 不填,新增默认企业项目下告警模板。

表3 请求Body参数

参数

是否必选

参数类型

描述

alarm_rule_template_name

String

告警模板的名称。最多可输入100个字符,只能包含中文、字母、数字、下划线和中划线,开头、结尾不允许输入下划线或中划线。

alarm_rule_template_description

String

模板的描述信息,最多可输入1024个字符。

templating

Templating object

告警模板变量列表。

alarm_template_spec_list

Array of CreateOrUpdateAlarmRuleTemplateSpecWithCloudService objects

告警模板列表。

表4 Templating

参数

是否必选

参数类型

描述

list

Array of TemplateInfo objects

变量列表。

表5 TemplateInfo

参数

是否必选

参数类型

描述

name

String

变量名称。

type

String

变量类型。

query

String

变量值。

description

String

变量描述。

表6 CreateOrUpdateAlarmRuleTemplateSpecWithCloudService

参数

是否必选

参数类型

描述

related_cloud_service

String

关联的云服务名称。支持的云服务名称:FunctionGraph、DRS、RDS、NAT、VPC、DCS、CSS、DC、CBR、DMS、ELB、EVS、OBS、DDS、WAF、CEFromProm、CCI2。

  • CCEFromProm云服务支持事件告警规则、PromQL告警规则。

  • CCI2云服务支持PromQL告警规则。

  • 其余云服务支持指标告警规则。

alarm_template_spec_items

Array of CreateOrUpdateAlarmTemplateSpecItem objects

告警模板列表。

related_prometheus_instances

Array of strings

告警模板关联的Prometheus实例名称列表。(该参数只针对非CCECCEFromProm有效)

related_cce_clusters

Array of strings

告警模板关联的CCE集群名称列表。(该参数只针对CCEFromProm有效)

表7 CreateOrUpdateAlarmTemplateSpecItem

参数

是否必选

参数类型

描述

alarm_template_name

String

告警模板下单个告警规则名称。只含有汉字、数字、字母、下划线、中划线,不能以下划线等特殊符号开头和结尾,长度为 1 - 256

alarm_template_spec_type

String

告警模板下单个告警规则类型。

  • “metric”:指标告警

  • “event”:事件告警

metric_alarm_template_spec

CreateOrUpdateMetricAlarmTemplateSpec object

指标告警模板。(创建CCEFromProm事件告警规则时,该参数为空,创建指标告警规则时,该参数必填)

event_alarm_template_spec

CreateOrUpdateEventAlarmTemplateSpec object

事件告警模板。(创建CCEFromProm事件告警规则时,该参数必填,创建指标告警规则时,该参数为空)

表8 CreateOrUpdateMetricAlarmTemplateSpec

参数

是否必选

参数类型

描述

alarm_tags

Array of AlarmTemplateAlarmTags objects

告警标签。

monitor_type

String

监控类型。(如果metric_alarm_template_spec参数不为空,则该参数必填)

  • "promql":PromQL告警规则。仅支持CCEFromProm、CCI2云服务创建PromQL告警规则。

  • “resource”:阈值告警规则。仅支持FunctionGraph、DRS、RDS、NAT、VPC、DCS、CSS、DC、CBR、DMS、ELB、EVS、OBS、DDS、WAF创建阈值告警规则。

no_data_conditions

Array of NoDataCondition objects

无数据处理相关参数。(如果创建阈值告警规则时,该参数需关注,如果创建PromQL告警规则,该参数为空)

recovery_conditions

RecoveryCondition object

告警恢复条件。(如果metric_alarm_template_spec参数不为空,则该参数必填)

trigger_conditions

Array of CreateTemplateTriggerCondition objects

告警触发条件。(如果metric_alarm_template_spec参数不为空,则该参数必填)

resource_kind

String

资源类型。(如果创建阈值告警规则时,该参数必填,如果创建PromQL告警规则时,该参数为空)

格式为:"HC:云服务名称:METRICS"

例如FunctionGraph云服务的资源类型为:"HC:FunctionGraph:METRICS"

表9 AlarmTemplateAlarmTags

参数

是否必选

参数类型

描述

custom_tags

Array of strings

告警规则标签。(为告警规则添加标签,标签将同步到TMS服务,该标签可以用于搜索过滤、告警降噪分组条件,也可以在消息模板中以$event.metadata.标签名被引用。)

custom_annotations

Array of strings

告警规则标注。(为告警规则添加键值对属性,标注不会同步给TMS标签服务,但是可以用于告警降噪分组条件,也可以在消息模板中以$event.metadata.标注名被引用。)

表10 NoDataCondition

参数

是否必选

参数类型

描述

no_data_timeframe

Integer

无数据处理连续周期。取值范围为1~5。(当"notify_no_data"为true时,该参数必填,当"notify_no_data"为false时,该参数为空)

no_data_alert_state

String

数据不足时,阈值规则的状态。(当"notify_no_data"为true时,该参数必填,当"notify_no_data"为false时,该参数为空)

  • “no_data”:数据不足并发送通知

  • “alerting”:告警

  • “ok”:正常

  • “pre_state”:保持上一个状态

枚举值:

  • no_data

  • alerting

  • ok

  • pre_state

notify_no_data

Boolean

无数据处理开关。true表示启用无数据处理,false表示关闭无数据处理。

表11 RecoveryCondition

参数

是否必选

参数类型

描述

recovery_timeframe

Integer

告警恢复周期的个数。取值范围为1~3 (如果recovery_timeframe 参数不为空,该参数必填)

表12 CreateTemplateTriggerCondition

参数

是否必选

参数类型

描述

aggregation_type

String

检测规则:(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

  • average:平均值

  • minimum:最小值

  • maximum:最大值

  • sum:总计

  • sampleCount:样本

aggregation_window

String

统计周期。(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

  • “15s”:15秒

  • “30s”:30秒

  • “1m”:1分钟

  • “5m”:5分钟

  • “15m”:15分钟

  • “1h”:1小时

alarm_message_template

String

通知内容。(如果创建PromQL告警规则,该参数需关注,如果创建阈值告警规则,该参数为空)

metric_name

String

指标名称。(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

metric_labels

Array of strings

指标维度。(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

metric_namespace

String

指标命名空间。(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

metric_query_mode

String

指标查询模式。(如果trigger_conditions参数不为空,该参数必填)

  • “AOM”:AOM原生。

  • “PROM”:AOM Prometheus 。(创建阈值告警规则的查询模式)

  • “NATIVE_PROM”:原生Prometheus。(创建PromQL告警规则的查询模式)

枚举值:

  • AOM

  • PROM

  • NATIVE_PROM

metric_unit

String

指标单位。

operator

String

判断条件:“>”,“<”,“=”,“>=”,“<=” (如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

promql

String

Prometheus语句。(如果创建PromQL告警规则,该参数必填,如果创建阈值告警规则,该参数为空)

promql_expr

String

Prometheus语句模板。(如果创建PromQL告警规则,该参数需关注,如果创建阈值告警规则,该参数为空)默认和promql的值保持一致。

promql_for

String

持续时间。(如果创建PromQL告警规则,该参数必填,如果创建阈值告警规则,该参数为空)

持续时间范围:

  • “0”:立即

  • “15s”:15秒

  • “30s”:30秒

  • “1m”:1分钟

  • “2m”:2分钟

  • “5m”:5分钟

  • “10m”:10分钟

  • “15m”:15分钟

  • “1h”:1小时

  • “6h”:6小时

  • “12h”:12小时

promql_monitor_templates

Array of strings

Prometheus监控模板。默认为cluster。

query_param

String

填写默认值:"{"defaultRule":{"label":"自定义","id":"custom"},"templateSelectd":null,"dimensionsList":[]}"(如果创建PromQL告警规则,该参数必填,如果创建阈值告警规则,该参数为空)

thresholds

Map<String,String>

键值对形式,键为告警级别,值为告警阈值。PromQL告警规则告警阈值为0,阈值告警规则告警阈值为1。(如果trigger_conditions参数不为空,该参数必填)

trigger_type

String

触发频率的类型:

  • “FIXED_RATE”:固定间隔

  • “HOURLY”:每小时

  • “DAILY”:每天

  • “WEEKLY”:每周

  • “CRON”:Cron表达式

PromQL告警规则,仅支持固定间隔“FIXED_RATE”。

枚举值:

  • FIXED_RATE

  • HOURLY

  • DAILY

  • WEEKLY

  • CRON

trigger_interval

String

检查频率周期。

  • 当trigger_type 为“HOURLY”时,填“”

  • 当trigger_type为“DAILY”时,格式为:“小时” 。例如每天凌晨三点"03:00"。

  • 当trigger_type为“WEEKLY”时,格式为:“星期 小时”。例如每周一凌晨三点 “1 03:00”。

  • 当trigger_type为“CRON”时,格式为标准CRON表达式。

  • 当trigger_type为“FIXED_RATE”时,秒的取值为15s,30s,分钟为 1~59,小时为 1~24。例如“15s”,“30s”,“1min”,“1h”。

trigger_times

String

连续周期个数。(如果创建PromQL告警规则,该参数为空,如果创建阈值告警规则,该参数必填)

取值范围为:1~30

表13 CreateOrUpdateEventAlarmTemplateSpec

参数

是否必选

参数类型

描述

event_source

String

告警来源。仅支持CCE。

monitor_object_templates

Array of strings

监控对象模板。默认值为“clusterId”(如果event_alarm_template_spec参数不为空,该参数必填)

monitor_objects

Array of Map<String,String> objects

监控对象列表。键值对形式,键值为:

  • “event_type”:通知类型

  • “event_severity”:告警级别

  • “event_name”:事件名称

  • “namespace”:命名空间

  • “clusterId”:集群id

  • “customField”:用户自定义字段

trigger_conditions

Array of EventTriggerCondition objects

触发条件。(如果event_alarm_template_spec参数不为空,该参数必填)

表14 EventTriggerCondition

参数

是否必选

参数类型

描述

event_name

String

事件名称。

trigger_type

String

触发方式:

  • “immediately”:立即触发

  • “accumulative”:累计触发

枚举值:

  • immediately

  • accumulative

aggregation_window

Long

监控周期。单位为秒,例如 1小时 填“3600”,当trigger_type为“immediately”时 该参数为空,当trigger_type为“accumulative”时 该参数必填。

监控周期范围:

5分钟,20分钟,1小时,4小时,24小时。

operator

String

判断条件:“>”,“<”,“=”,“>=”,“<=”,当trigger_type为“immediately”时 该参数为空。当trigger_type为“accumulative”时 该参数必填。

thresholds

Map<String,Integer>

键值对形式,键为告警级别,值为累计次数,当trigger_type为“immediately”时 累计次数为1。当当trigger_type为“accumulative”时 累计次数范围为1~100 (如果trigger_conditions参数不为空,该参数必填)

frequency

String

事件类告警频率。当trigger_type为“immediately”时 值为-1。

  • “-1”:N/A

  • “0”:只告警一次

  • “300”:每5分钟

  • “600”:每10分钟:

  • “900”:每15分钟:

  • “1800”:每30分钟:

  • “3600”:每1小时:

  • “10800”:每3小时:

  • “21600”:每6小时:

  • “43200”:每12小时:

  • “86400”:每天:

响应参数

状态码:200

表15 响应Body参数

参数

参数类型

描述

alarm_rule_templates

Array of AlarmRuleTemplateItemResult objects

告警模板列表。

error_code

String

错误码。

error_message

String

错误信息。

表16 AlarmRuleTemplateItemResult

参数

参数类型

描述

alarm_rule_template_name

String

告警模板名称。

alarm_rule_template_id

String

告警模板id。

状态码:400

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

最小长度:12

最大长度:12

error_msg

String

错误信息。

最小长度:0

最大长度:1024

error_type

String

错误类型。

最小长度:0

最大长度:128

trace_id

String

请求id。

最小长度:32

最大长度:32

请求示例

  • 创建CCE事件告警模板

    https://{Endpoint}/v4/{project_id}/alarm-rules-template
    
    {
      "alarm_rule_template_description" : "aom事件模板",
      "alarm_rule_template_name" : "aom事件模板",
      "alarm_template_spec_list" : [ {
        "alarm_template_spec_items" : [ {
          "alarm_template_name" : "aom事件1",
          "alarm_template_spec_type" : "event",
          "event_alarm_template_spec" : {
            "event_source" : "CCE",
            "monitor_object_templates" : [ "clusterId" ],
            "monitor_objects" : [ {
              "event_name" : ""
            } ],
            "trigger_conditions" : [ {
              "aggregation_window" : 300,
              "event_name" : "",
              "frequency" : "1",
              "operator" : ">=",
              "thresholds" : {
                "Critical" : 2
              },
              "trigger_type" : "immediately"
            } ]
          }
        } ],
        "related_cce_clusters" : [ ],
        "related_cloud_service" : "CCEFromProm"
      } ],
      "templating" : {
        "list" : [ ]
      }
    }
  • 创建CCE PromQL告警模板。

    https://{Endpoint}/v4/{project_id}/alarm-rules-template
    
    {
      "alarm_rule_template_description" : null,
      "alarm_rule_template_name" : "aomCCEPromQL",
      "alarm_template_spec_list" : [ {
        "alarm_template_spec_items" : [ {
          "alarm_template_name" : "PromQl规则1",
          "alarm_template_spec_type" : "metric",
          "metric_alarm_template_spec" : {
            "alarm_tags" : [ {
              "custom_annotations" : [ ],
              "custom_tags" : [ ]
            } ],
            "monitor_type" : "promql",
            "recovery_conditions" : {
              "recovery_timeframe" : 1
            },
            "trigger_conditions" : [ {
              "alarm_message_template" : null,
              "metric_query_mode" : "NATIVE_PROM",
              "promql" : "aom_Node_cpuusage>0",
              "promql_expr" : "aom_Node_cpuusage>0",
              "promql_for" : "1m",
              "promql_monitor_templates" : [ "cluster" ],
              "query_param" : "{\"defaultRule\":{\"label\":\"自定义\",\"id\":\"custom\"},\"templateSelectd\":null,\"dimensionsList\":[]}",
              "thresholds" : {
                "Major" : 0
              },
              "trigger_interval" : "1m",
              "trigger_type" : "FIXED_RATE"
            } ]
          }
        } ],
        "related_cce_clusters" : [ ],
        "related_cloud_service" : "CCEFromProm"
      } ],
      "templating" : {
        "list" : [ ]
      }
    }
  • 创建阈值告警模板。

    https://{Endpoint}/v4/{project_id}/alarm-rules-template
    
    {
      "alarm_rule_template_description" : null,
      "alarm_rule_template_name" : "阈值模板",
      "alarm_template_spec_list" : [ {
        "alarm_template_spec_items" : [ {
          "alarm_template_name" : "阈值规则",
          "alarm_template_spec_type" : "metric",
          "metric_alarm_template_spec" : {
            "alarm_tags" : [ {
              "custom_annotations" : [ ],
              "custom_tags" : [ ]
            } ],
            "monitor_type" : "resource",
            "no_data_conditions" : [ {
              "no_data_alert_state" : "no_data",
              "no_data_timeframe" : 1,
              "notify_no_data" : true
            } ],
            "recovery_conditions" : {
              "recovery_timeframe" : 1
            },
            "resource_kind" : "HC:FunctionGraph:METRICS",
            "trigger_conditions" : [ {
              "aggregation_type" : "average",
              "aggregation_window" : "1m",
              "metric_labels" : [ "package_functionname" ],
              "metric_name" : "huaweicloud_sys_functiongraph_count",
              "metric_namespace" : "SYS.FunctionGraph",
              "metric_query_mode" : "PROM",
              "metric_unit" : "",
              "operator" : ">",
              "thresholds" : {
                "Critical" : 1
              },
              "trigger_interval" : "1m",
              "trigger_times" : 3,
              "trigger_type" : "FIXED_RATE"
            } ]
          }
        } ],
        "related_cloud_service" : "FunctionGraph",
        "related_prometheus_instances" : [ ]
      } ],
      "templating" : {
        "list" : [ ]
      }
    }

响应示例

状态码:200

OK 请求响应成功。

{
  "alarm_rule_templates" : [ {
    "alarm_rule_template_id" : "1356****3509****185",
    "alarm_rule_template_name" : "aomtest"
  } ],
  "error_code" : "200",
  "error_message" : "success"
}

状态码:400

BadRequest 非法请求。建议直接修改该请求,不要重试该请求。

{
  "error_code" : "AOM.02017004",
  "error_msg" : "templateName is exist!",
  "trace_id" : ""
}

状态码

状态码

描述

200

OK 请求响应成功。

400

BadRequest 非法请求。建议直接修改该请求,不要重试该请求。

错误码

请参见错误码

相关文档