Querying Metric or Event Alarm Rules
Function
This API is used to query AOM 2.0 metric or event alarm rules.
Calling Method
For details, see Calling APIs.
URI
GET /v4/{project_id}/alarm-rules
Parameter | Mandatory | Type | Description |
|---|---|---|---|
project_id | Yes | String | Project ID, which can be obtained from the console or by calling an API. For details, see Obtaining a Project ID. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
name | No | String | Alarm rule name. |
limit | No | String | Number of records that can be returned. |
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.
|
event_source | No | String | Source of an event alarm rule.
|
event_severity | No | String | Alarm severity.
|
alarm_rule_status | No | String | Alarm rule status.
Enumeration values:
|
alarm_rule_type | No | String | Alarm rule type.
Enumeration values:
|
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
Parameter | Mandatory | Type | Description |
|---|---|---|---|
X-Auth-Token | Yes | String | User token obtained from IAM. For details, see Obtaining a Token. |
Content-Type | No | String | Message body type or format. Content type, which is application/json. |
Enterprise-Project-Id | No | String | Enterprise project ID. For details, see Obtaining an Enterprise Project ID.
|
Response Parameters
Status code: 200
Parameter | Type | Description |
|---|---|---|
alarm_rules | Array of AlarmParamForV4Db objects | Alarm rule list. |
metadata | Object | Metadata information. |
count | Integer | Number of alarm rules. |
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. For details, see Obtaining an 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.
|
alarm_rule_type | String | Rule type.
Enumeration values:
|
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. |
Parameter | Type | Description |
|---|---|---|
monitor_type | String | Monitoring type.
Enumeration values:
|
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 | (Deprecated) Whether to bind an alarm rule template. |
alarm_rule_template_id | String | (Deprecated) ID of the alarm rule template. |
Parameter | Type | Description |
|---|---|---|
no_data_timeframe | Integer | Number of consecutive periods without data. Value range: 1–5. (If notify_no_data is set to true, this parameter is mandatory. If notify_no_data is set to false, leave this parameter blank.) |
no_data_alert_state | String | Status of the threshold rule when the data is insufficient. (If notify_no_data is set to true, this parameter is mandatory. If notify_no_data is set to false, leave this parameter blank.)
Enumeration values:
|
notify_no_data | Boolean | Whether to take action when no data is reported. true: Enable the function. false: Disable the function. |
Parameter | Type | Description |
|---|---|---|
auto_tags | Array of strings | Automatic tag. |
custom_tags | Array of strings | Custom tag. |
custom_annotations | Array of strings | Alarm annotation. |
Parameter | Type | Description |
|---|---|---|
recovery_timeframe | Integer | Number of consecutive periods for which the trigger condition is not met to clear an alarm. Value range: 1–3. (If recovery_timeframe is specified, this parameter is mandatory.) |
Parameter | Type | Description |
|---|---|---|
metric_query_mode | String | Metric query mode.
Enumeration values:
|
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 | Integer | Number of consecutive periods. |
trigger_interval | String | Check interval.
|
trigger_type | String | Trigger type.
Enumeration values:
|
promql_for | String | Native Prometheus monitoring duration. |
aggregation_type | String | Statistical mode.
|
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. Options:
|
cmdb | CmdbInfo object | CMDB information. |
query_match | String | Query filter criteria. |
query_param | Object | Query parameter. |
aom_monitor_level | String | Monitoring layer. |
aggregate_type | String | Aggregation method.
Enumeration values:
|
metric_statistic_method | String | Metric statistics method to be used when you set Configuration Mode to Select from all metrics during alarm rule setting.
Enumeration values:
|
expression | String | Expression of a combined operation. |
mix_promql | String | PromQL of a combined operation. |
Parameter | Type | Description |
|---|---|---|
app_id | String | Application ID. |
node_ids | Array of NodeInfo objects | Node information list. |
Parameter | Type | Description |
|---|---|---|
alarm_source | String | Alarm rule source.
Enumeration values:
|
event_source | String | Alarm source.
|
monitor_objects | Array of Map<String,String> objects | List of monitored objects. Key-value pair.
|
trigger_conditions | Array of EventTriggerCondition objects | Trigger conditions. |
alarm_rule_template_bind_enable | Boolean | (Deprecated) Whether to bind an alarm rule template. |
alarm_rule_template_id | String | (Deprecated) ID of the alarm rule template. |
Parameter | Type | Description |
|---|---|---|
event_name | String | Event name. |
trigger_type | String | Trigger mode.
Enumeration values:
|
aggregation_window | Long | Monitoring period. Unit: second. For example, 3600 indicates 1 hour. If trigger_type is set to immediately, leave this parameter blank. If trigger_type is set to accumulative, this parameter is mandatory. Value range: 5 minutes, 20 minutes, 1 hour, 4 hours, or 24 hours. |
operator | String | Operator. Options: >, <, =, >=, and <=. If trigger_type is set to immediately, leave this parameter blank. If trigger_type is set to accumulative, this parameter is mandatory. |
thresholds | Map<String,Integer> | Key-value pair. The key indicates the alarm severity while the value indicates the number of accumulated trigger times. If trigger_type is set to immediately, the value is 1. If trigger_type is set to accumulative, the value ranges from 1 to 100. (This parameter is mandatory if trigger_conditions is specified.) |
frequency | String | Event alarm notification frequency. If trigger_type is set to immediately, the value of this parameter is -1.
|
Parameter | Type | Description |
|---|---|---|
notification_type | String | Notification type.
Enumeration values:
|
route_group_enable | Boolean | Whether to enable the alarm grouping rule.
If both notify_triggered and notify_resolved are set to false, route_group_enable must be set to false. Enumeration values:
|
route_group_rule | String | Alarm grouping rule name.
|
notification_enable | Boolean | Whether to enable the alarm notification rule.
If both notify_triggered and notify_resolved are set to false, notification_enable must be set to false. |
bind_notification_rule_id | String | Alarm action rule ID.
|
notify_resolved | Boolean | Whether to send a notification when an alarm is cleared.
Enumeration values:
|
notify_triggered | Boolean | Whether to send a notification when an alarm is triggered.
Enumeration values:
|
notify_frequency | Integer | Notification frequency.
|
Status code: 500
Parameter | Type | Description |
|---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
error_type | String | Error type. |
trace_id | String | Request ID. |
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
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

