Querying Metric or Event Alarm Rules
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
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID obtained from IAM. Generally, a project ID contains 32 characters. |
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.
|
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. |
Content-Type |
Yes |
String |
Content type, which is application/json. |
Enterprise-Project-Id |
No |
String |
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. |
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 |
(Discarded) Whether to bind an alarm rule template. Default: false |
alarm_rule_template_id |
String |
(Discarded) ID of the alarm rule template. Default: "" |
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 |
String |
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 |
String |
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 |
(Discarded) Whether to bind an alarm rule template. Default: false |
alarm_rule_template_id |
String |
(Discarded) ID of the alarm rule template. Default: "" |
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 the grouping rule.
Enumeration values:
|
route_group_rule |
String |
Grouping rule name.
|
notification_enable |
Boolean |
Whether to enable an alarm action rule.
|
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. 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
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.