Help Center/ Application Operations Management/ API Reference/ APIs/ Alarm/ Querying Metric or Event Alarm Rules

Querying Metric or Event Alarm Rules

Updated on 2025-01-07 GMT+08:00

Function

This API is used to query metric or event alarm rules.

Calling Method

For details, see Calling APIs.

URI

GET /v4/{project_id}/alarm-rules

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID obtained from IAM. Generally, a project ID contains 32 characters.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

name

No

String

Alarm rule name.

limit

No

String

Number of records that can be returned.

Minimum: 1

Maximum: 1000

offset

No

String

Start position for a pagination query, which must be a non-negative integer.

sort_by

No

String

Whether to sort alarms by alarm rule name or alarm creation time.

  • alarm_rule_name.asc
  • alarm_create_time.desc

event_source

No

String

Source of an event alarm rule.

  • RDS
  • EVS
  • CCE
  • LTS
  • AOM

event_severity

No

String

Alarm severity.

  • Critical
  • Major
  • Minor
  • Info

alarm_rule_status

No

String

Alarm rule status.

  • OK: normal
  • alarm: threshold-crossing
  • Effective: in use
  • Invalid: not in use

Enumeration values:

  • OK
  • alarm
  • Effective
  • Invalid

alarm_rule_type

No

String

Alarm rule type.

  • metric: metric alarm rule
  • event: event alarm rule

Enumeration values:

  • metric
  • event

prom_instance_id

No

String

Prometheus instance ID.

bind_notification_rule_id

No

String

Name of the bound alarm action rule.

related_cce_clusters

No

String

CCE cluster ID.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token obtained from IAM.

Content-Type

Yes

String

Content type, which is application/json.

Enterprise-Project-Id

No

String

Enterprise project ID.

  • To query instances in an enterprise project, enter the enterprise project ID.
  • To query instances in all enterprise projects, enter all_granted_eps.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

alarm_rules

Array of AlarmParamForV4Db objects

Alarm rule list.

metadata

Object

Metadata information.

count

Integer

Number of alarm rules.

Table 5 AlarmParamForV4Db

Parameter

Type

Description

alarm_create_time

Long

Time when an alarm rule was created.

alarm_update_time

Long

Time when an alarm rule was modified.

alarm_rule_name

String

Alarm rule name.

alarm_rule_id

Long

Alarm rule ID.

enterprise_project_id

String

Enterprise project ID.

prom_instance_id

String

Prometheus instance ID.

alarm_rule_description

String

Alarm rule description.

alarm_rule_enable

Boolean

Enabled or not.

alarm_rule_status

String

Alarm status.

  • OK: normal
  • alarm: threshold-crossing
  • Effective: in use
  • Invalid: not in use

alarm_rule_type

String

Rule type.

  • metric: metric alarm rule
  • event: event alarm rule

Enumeration values:

  • metric
  • event

metric_alarm_spec

MetricAlarmSpec object

Structure of a metric alarm rule.

event_alarm_spec

EventAlarmSpec object

Structure of an event alarm rule.

alarm_notifications

AlarmNotification object

Alarm notification module.

user_id

String

User ID.

Table 6 MetricAlarmSpec

Parameter

Type

Description

monitor_type

String

Monitoring type.

  • all_metric: Select metrics from all metrics.
  • promql: Select metrics using PromQL.
  • resource (unavailable soon): Select metrics by resource type.

Enumeration values:

  • all_metric
  • promql
  • resource

no_data_conditions

Array of NoDataCondition objects

Action taken for insufficient data.

alarm_tags

Array of AlarmTags objects

Alarm tags.

monitor_objects

Array of Map<String,String> objects

List of monitored objects.

recovery_conditions

RecoveryCondition object

Alarm clearance condition.

trigger_conditions

Array of TriggerCondition objects

Trigger conditions.

alarm_rule_template_bind_enable

Boolean

(Discarded) Whether to bind an alarm rule template.

Default: false

alarm_rule_template_id

String

(Discarded) ID of the alarm rule template.

Default: ""

Table 7 NoDataCondition

Parameter

Type

Description

no_data_timeframe

Integer

Number of periods without data.

no_data_alert_state

String

Status of the threshold rule when the data is insufficient.

  • no_data: A notification indicating insufficient data is sent.
  • alerting: An alarm is triggered.
  • ok: No exception occurs.
  • pre_state: Retain the previous state.

Enumeration values:

  • no_data
  • alerting
  • ok
  • pre_state

notify_no_data

Boolean

Whether to send a notification when data is insufficient.

Table 8 AlarmTags

Parameter

Type

Description

auto_tags

Array of strings

Automatic tag.

custom_tags

Array of strings

Custom tag.

custom_annotations

Array of strings

Alarm annotation.

Table 9 RecoveryCondition

Parameter

Type

Description

recovery_timeframe

Integer

Number of consecutive periods for which the trigger condition is not met to clear an alarm.

Table 10 TriggerCondition

Parameter

Type

Description

metric_query_mode

String

Metric query mode.

  • AOM: native AOM
  • PROM: AOM Prometheus
  • NATIVE_PROM: native Prometheus

Enumeration values:

  • AOM
  • PROM
  • NATIVE_PROM

metric_namespace

String

Metric namespace.

metric_name

String

Metric name.

metric_unit

String

Metric unit.

metric_labels

Array of strings

Metric dimension.

promql

String

Prometheus statement.

promql_expr

Array of strings

Prometheus statement template.

trigger_times

String

Number of consecutive periods.

trigger_interval

String

Check interval.

  • If trigger_type is set to HOURLY*, set this parameter to "".
  • If trigger_type is set to DAILY, set 00:00–23:00. Example: 03:00.
  • If trigger_type is set to WEEKLY, select a day in a week and then select 00:00–23:00. Example: **1 03:00" indicates 03:00 on every Monday.
  • If trigger_type is set to CRON, specify a standard cron expression.
  • If trigger_type is set to FIXED_RATE, select 15s, 30s, 1–59 min, or 1–24 h.

trigger_type

String

Trigger type.

  • FIXED_RATE: fixed interval
  • HOURLY: every hour
  • DAILY: every day
  • WEEKLY: every week
  • CRON: Cron expression

Enumeration values:

  • FIXED_RATE
  • HOURLY
  • DAILY
  • WEEKLY
  • CRON

promql_for

String

Native Prometheus monitoring duration.

aggregation_type

String

Statistical mode.

  • average
  • minimum
  • maximum
  • sum
  • sampleCount

operator

String

Operator. Options: >, <, =, >=, and <=.

thresholds

Map<String,String>

Key-value pair. The key indicates the alarm severity while the value indicates the alarm threshold.

aggregation_window

String

Statistical period.

  • 15s
  • 30s
  • 1m
  • 5m
  • 15m
  • 1h

cmdb

CmdbInfo object

CMDB information.

query_match

String

Query filter criteria.

query_param

String

Query parameters.

aom_monitor_level

String

Monitoring layer.

aggregate_type

String

Aggregation mode.

  • by: not grouped
  • avg
  • max
  • min
  • sum

Enumeration values:

  • by
  • avg
  • max
  • min
  • sum

metric_statistic_method

String

Metric statistics method to be used when you set Configuration Mode to Select from all metrics during alarm rule setting.

  • single: single metric
  • mix: multi-metric combined operations

Enumeration values:

  • single
  • mix

expression

String

Expression of a combined operation.

mix_promql

String

PromQL of a combined operation.

Table 11 CmdbInfo

Parameter

Type

Description

app_id

String

Application ID.

node_ids

Array of NodeInfo objects

Node information list.

Table 12 NodeInfo

Parameter

Type

Description

node_type

String

Node type.

node_id

String

Node ID.

Table 13 EventAlarmSpec

Parameter

Type

Description

alarm_source

String

Alarm rule source.

  • systemEvent
  • customEvent

Enumeration values:

  • systemEvent
  • customEvent

event_source

String

Alarm source.

  • RDS
  • EVS
  • CCE
  • LTS
  • AOM

monitor_objects

Array of Map<String,String> objects

List of monitored objects. Key-value pair.

  • event_type: notification type
  • event_severity: alarm severity
  • event_name: event name
  • namespace: namespace
  • clusterId: cluster ID
  • customField: user-defined field

trigger_conditions

Array of EventTriggerCondition objects

Trigger conditions.

alarm_rule_template_bind_enable

Boolean

(Discarded) Whether to bind an alarm rule template.

Default: false

alarm_rule_template_id

String

(Discarded) ID of the alarm rule template.

Default: ""

Table 14 EventTriggerCondition

Parameter

Type

Description

event_name

String

Event name.

trigger_type

String

Trigger mode.

  • immediately: An alarm is triggered immediately if the alarm condition is met.
  • accumulative: An alarm is triggered if the alarm condition is met for a specified number of times.

Enumeration values:

  • immediately
  • accumulative

aggregation_window

Long

Statistical period, in seconds. For example, 3600 indicates one hour. Leave this parameter empty if trigger_type is set to immediately.

operator

String

Operator. Options: >, <, =, >=, and <=. Leave this parameter empty if trigger_type is set to immediately.

thresholds

Map<String,Integer>

Key-value pair. The key indicates the alarm severity while the value indicates the number of accumulated trigger times. Leave this parameter empty if trigger_type is set to immediately.

frequency

String

Event alarm notification frequency. Leave this parameter empty if trigger_type is set to immediately.

  • 0: alarm sent only once
  • 300: every 5 minutes
  • 600: every 10 minutes
  • 900: every 15 minutes
  • 1800: every 30 minutes
  • 3600: every hour
  • 10800: every 3 hours
  • 21600: every 6 hours
  • 43200: every 12 hours
  • 86400: every day
Table 15 AlarmNotification

Parameter

Type

Description

notification_type

String

Notification type.

  • direct: direct alarm reporting
  • alarm_policy: alarm reporting after noise reduction

Enumeration values:

  • direct
  • alarm_policy

route_group_enable

Boolean

Whether to enable the grouping rule.

  • If the notification type is alarm_policy, set this parameter to true.
  • If the notification type is direct, set this parameter to false.

Enumeration values:

  • true
  • false

route_group_rule

String

Grouping rule name.

  • If route_group_enable is set to true, enter a grouping rule name.
  • If route_group_enable is set to false, enter "".

notification_enable

Boolean

Whether to enable an alarm action rule.

  • If the notification type is direct, set this parameter to true.
  • If the notification type is alarm_policy, set this parameter to false.

bind_notification_rule_id

String

Alarm action rule ID.

  • If notification_enable is set to true, enter an alarm action rule ID.
  • If notification_enable is set to false, enter "".

notify_resolved

Boolean

Whether to send a notification when an alarm is cleared.

  • true: Send a notification.
  • false: Do not send any notification.

Enumeration values:

  • true
  • false

notify_triggered

Boolean

Whether to send a notification when an alarm is triggered.

  • true: Send a notification.
  • false: Do not send any notification.

Enumeration values:

  • true
  • false

notify_frequency

Integer

Notification frequency.

  • If the notification type is alarm_policy, set this parameter to -1.
  • If the notification type is direct, set this parameter to any of the following:
  • 0: alarm sent only once
  • 300: every 5 minutes
  • 600: every 10 minutes
  • 900: every 15 minutes
  • 1800: every 30 minutes
  • 3600: every hour
  • 10800: every 3 hours
  • 21600: every 6 hours
  • 43200: every 12 hours
  • 86400: every day

Status code: 500

Table 16 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum: 12

Maximum: 12

error_msg

String

Error message.

Minimum: 0

Maximum: 1024

error_type

String

Error type.

Minimum: 0

Maximum: 128

trace_id

String

Request ID.

Minimum: 32

Maximum: 32

Example Requests

Query metric or event alarm rules.

https://{Endpoint}/v4/{project_id}/alarm-rules?limit=100&offset=0

Example Responses

Status code: 200

OK: The request is successful.

{
  "alarm_rules" : [ {
    "alarm_create_time" : 1713929265429,
    "alarm_notifications" : {
      "bind_notification_rule_id" : "aom_notification_rule",
      "notification_enable" : true,
      "notification_type" : "direct",
      "notify_frequency" : -1,
      "notify_resolved" : false,
      "notify_triggered" : false,
      "route_group_enable" : false,
      "route_group_rule" : ""
    },
    "alarm_rule_description" : "",
    "alarm_rule_enable" : true,
    "alarm_rule_id" : 0,
    "alarm_rule_name" : "aom_alarm_rule",
    "alarm_rule_status" : "Effective",
    "alarm_rule_type" : "event",
    "alarm_update_time" : 0,
    "enterprise_project_id" : "0",
    "event_alarm_spec" : {
      "alarm_rule_template_bind_enable" : false,
      "alarm_rule_template_id" : "",
      "alarm_source" : "systemEvent",
      "event_source" : "CCE",
      "monitor_objects" : [ {
        "clusterId" : "a4****6b-f**9-1**e-a**d-02****10***a",
        "event_type" : "event"
      } ],
      "trigger_conditions" : [ {
        "aggregation_window" : 300,
        "event_name" : "",
        "frequency" : "1",
        "operator" : ">=",
        "thresholds" : {
          "Critical" : 2
        },
        "trigger_type" : "immediately"
      } ]
    },
    "user_id" : "2a****56****48****73****1b****cf"
  }, {
    "alarm_create_time" : 1711458243395,
    "alarm_notifications" : {
      "bind_notification_rule_id" : "",
      "notification_enable" : false,
      "notification_type" : "direct",
      "notify_frequency" : 0,
      "notify_resolved" : false,
      "notify_triggered" : false,
      "route_group_enable" : false,
      "route_group_rule" : ""
    },
    "alarm_rule_description" : "",
    "alarm_rule_enable" : false,
    "alarm_rule_id" : 1,
    "alarm_rule_name" : "aom_alarm_rule_1",
    "alarm_rule_status" : "Invalid",
    "alarm_rule_type" : "metric",
    "alarm_update_time" : 0,
    "enterprise_project_id" : "0",
    "metric_alarm_spec" : {
      "alarm_rule_template_bind_enable" : false,
      "alarm_rule_template_id" : "",
      "alarm_tags" : [ {
        "auto_tags" : [ ],
        "custom_annotations" : [ ],
        "custom_tags" : [ ]
      } ],
      "monitor_objects" : [ ],
      "monitor_type" : "all_metric",
      "no_data_conditions" : [ {
        "no_data_timeframe" : 0,
        "notify_no_data" : false
      } ],
      "recovery_conditions" : {
        "recovery_timeframe" : 1
      },
      "trigger_conditions" : [ {
        "aggregate_type" : "by",
        "aggregation_type" : "average",
        "aggregation_window" : "30s",
        "aom_monitor_level" : "",
        "cmdb" : {
          "app_id" : "",
          "node_ids" : [ ]
        },
        "expression" : "",
        "metric_labels" : [ ],
        "metric_name" : "container_memory_rss",
        "metric_namespace" : "",
        "metric_query_mode" : "PROM",
        "metric_statistic_method" : "single",
        "metric_unit" : "",
        "mix_promql" : "",
        "operator" : ">",
        "promql" : "label_replace(container_memory_rss{node=\"172.**.**.206\"},\"__name__\",\"container_memory_rss\",\"\",\"\") or label_replace(avg_over_time(container_memory_rss{node=\"172.**.**.206\"}[29999ms]),\"__name__\",\"container_memory_rss\",\"\",\"\")",
        "promql_for" : "1m",
        "query_match" : "[{\"conditionList\":[{\"name\":\"172.**.**.206\"},{\"name\":\"172.**.**.133\"}],\"addMode\":\"first\",\"conditionValue\":[{\"name\":\"172.**.**.206\"}],\"id\":\"first\",\"conditionCompare\":\"=\",\"dimension\":\"node\"}]",
        "query_param" : {
          "apmMetricReg" : "",
          "code" : "a"
        },
        "thresholds" : {
          "Critical" : "1"
        },
        "trigger_interval" : "15s",
        "trigger_times" : 1,
        "trigger_type" : "FIXED_RATE"
      } ]
    },
    "prom_instance_id" : "90e***88-1**4-4**9-9**3-1f*******cd3",
    "user_id" : "2a****56****48****73****1b****cf"
  } ],
  "count" : 29,
  "metadata" : {
    "alarm_rule_template_id" : [ ],
    "bind_notification_rule_id" : [ "aom_notification_rule", "1", "00********qq", "00*****3", "m***m" ],
    "event_source" : [ "CCE", "DCS", "ES", "AOM" ],
    "prom_instance_id" : [ "0", "796***7d-1**8-4**9-a**0-99*******ca0", "6cc***c8-f**f-4**4-9**2-90*******fcf", "90e***88-1**4-4**9-9**3-1f*******cd3" ],
    "resource_kind" : [ "HC:DCS:REDIS_3.0", "CCE", "HC:ES:METRICS", "AOM" ]
  }
}

Status code: 500

Internal Server Error: The server is able to receive the request but unable to understand the request.

{
  "error_code" : "AOM.02022500",
  "error_msg" : "internal server error",
  "error_type" : "INTERNAL_SERVER_ERROR",
  "trace_id" : ""
}

Status Codes

Status Code

Description

200

OK: The request is successful.

500

Internal Server Error: The server is able to receive the request but unable to understand the request.

Error Codes

See Error Codes.

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback