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 periods without data. |
|
no_data_alert_state |
String |
Status of the threshold rule when the data is insufficient.
Enumeration values:
|
|
notify_no_data |
Boolean |
Whether to send a notification when data is insufficient. |
|
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. |
|
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.
|
|
cmdb |
CmdbInfo object |
CMDB information. |
|
query_match |
String |
Query filter criteria. |
|
query_param |
Object |
Query parameters. |
|
aom_monitor_level |
String |
Monitoring layer. |
|
aggregate_type |
String |
Aggregation mode.
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 |
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.
|
|
Parameter |
Type |
Description |
|---|---|---|
|
notification_type |
String |
Notification type.
Enumeration values:
|
|
route_group_enable |
Boolean |
Whether to enable a 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 |
Grouping rule name.
|
|
notification_enable |
Boolean |
Whether to enable an alarm action 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.