文档首页/ 应用运维管理 AOM/ API参考/ API/ 告警/ 创建告警模板 - CreateAlarmRuleTemplate
更新时间:2025-12-30 GMT+08:00
分享

创建告警模板 - CreateAlarmRuleTemplate

功能介绍

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

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    aom:alarmRuleTemplate:create

    Write

    -

    -

    -

    -

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

参数解释:

变量类型。

取值范围:

  • constant:常量

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、CCEFromProm、CCI2。

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

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

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

alarm_template_spec_items

Array of CreateOrUpdateAlarmTemplateSpecItem objects

告警模板列表。

related_prometheus_instances

Array of strings

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

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”:保持上一个状态

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告警规则的查询模式)

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”。

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”:累计触发

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

参数解释:

非法请求错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

error_type

String

参数解释:

错误类型。

取值范围:

不涉及。

trace_id

String

参数解释:

请求id。

取值范围:

不涉及。

请求示例

  • 创建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 非法请求。建议直接修改该请求,不要重试该请求。

错误码

请参见错误码

相关文档