Creating an Alarm Rule
Function
This API is used to create an alarm rule.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v2/{project_id}/alarms
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Specifies the tenant ID. Minimum: 1 Maximum: 64 |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Content-Type |
No |
String |
Specifies the MIME type of the request body. The default type is application/json; charset=UTF-8. Default: application/json; charset=UTF-8 Minimum: 1 Maximum: 64 |
X-Auth-Token |
No |
String |
Specifies the user token. Minimum: 1 Maximum: 16384 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Specifies the name of an alarm rule. The name can contain 1 to 128 characters, including only letters, digits, underscores (_), and hyphens (-). |
description |
No |
String |
Provides supplementary information about an alarm rule. The description can contain 0 to 256 characters. |
namespace |
Yes |
String |
Specifies the namespace of a service. For details about the namespace of each service, see Namespace. |
resource_group_id |
No |
String |
Specifies the resource group ID. This parameter is mandatory when the monitoring scope is resource groups. |
resources |
Yes |
Array<Array<Dimension>> |
Specifies the resource list. If an alarm rule is created for all resources or resources in a resource group, leave the resource dimension blank. If the alarm rule is created for specified resources, the resource dimension value is mandatory, and you can specify multiple resources to be monitored at a time. Array Length: 0 - 1000 |
policies |
No |
Array of Policy objects |
Specifies the alarm policy. Array Length: 1 - 50 |
type |
Yes |
String |
Specifies the alarm rule type. ALL_INSTANCE indicates alarm rules for metrics of all resources. RESOURCE_GROUP indicates alarm rules for metrics of resources in a resource group. MULTI_INSTANCE indicates alarm rules for metrics of specified resources. EVENT.SYS indicates alarm rules for system events. EVENT.CUSTOM indicates alarm rules for custom events. DNSHealthCheck indicates alarm rules for health checks. Enumeration values:
|
alarm_notifications |
No |
Array of Notification objects |
Specifies the action to be triggered by an alarm. |
ok_notifications |
No |
Array of Notification objects |
Specifies the action to be triggered after an alarm is cleared. |
notification_begin_time |
No |
String |
Specifies the time when the alarm notification was enabled. |
notification_end_time |
No |
String |
Specifies the time when the alarm notification was disabled. |
enterprise_project_id |
No |
String |
Specifies the enterprise project ID. |
enabled |
Yes |
Boolean |
Specifies whether to generate alarms when the alarm triggering conditions are met. |
notification_enabled |
Yes |
Boolean |
Specifies whether to enable the alarm notification. |
alarm_template_id |
No |
String |
Specifies the ID of an alarm template associated with an alarm rule. If this parameter is specified, the policy associated with the alarm rule changes accordingly with the alarm template policy. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Specifies the dimension of a resource. For example, the dimension of an Elastic Cloud Server (ECS) can be instance_id. A maximum of four dimensions are supported. For the metric dimension of each resource, see Service metric dimension. Regex Pattern: ^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){1,32}$ |
value |
No |
String |
Specifies the value of a resource dimension, which is the resource ID, for example, 4270ff17-aba3-4138-89fa-820594c39755. Regex Pattern: ^((([a-z]|[A-Z]|[0-9]){1}([a-z]|[A-Z]|[0-9]|_|-|\.)*)|\*){1,256}$ |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
metric_name |
Yes |
String |
Specifies the metric name of a resource. The name must start with a letter and contain only digits, letters, and underscores. The length ranges from 1 to 64 characters. For example, cpu_util of an ECS indicates the CPU usage of the ECS. mongo001_command_ps in DDS indicates the command execution frequency. For details about the metric name of each service, see Service metric name. |
period |
Yes |
Integer |
Specifies the rollup period of a metric, in seconds. The default value is 0. For an event alarm, set this parameter to 0. 1 indicates the original rollup period of a metric. For example, if the original rollup period of an RDS metric is 60s, its data point is calculated every 60 seconds. For details about the original rollup period of each cloud service metric, see Services Interconnected with Cloud Eye. 300 indicates that the metric rollup period is 5 minutes. Minimum: 0 Maximum: 86400 Enumeration values:
|
filter |
Yes |
String |
Specifies the rollup method. The value can be average, min, max, or sum. |
comparison_operator |
Yes |
String |
Specifies the threshold symbol. The value can be >, <, >=, <=, =, !=, cycle_decrease, cycle_increase, or cycle_wave. cycle_decrease indicates the decrease compared with the last period, cycle_increase indicates the increase compared with the last period, and cycle_wave indicates the increase or decrease compared with the last period. All of them can be used in alarm rules for metrics. >, <, >=, <=, =, and != can be used for alarm rules for events. |
value |
Yes |
Number |
Specifies the threshold. |
unit |
No |
String |
Specifies the metric unit. |
count |
Yes |
Integer |
Specifies the number of times that the alarm triggering conditions are met. For event alarms, the value ranges from 1 to 180. For metric and website alarms, the value can be 1, 2, 3, 4, 5, 10, 15, 30, 60, 90, 120, or 180. |
suppress_duration |
No |
Integer |
Specifies the alarm suppression time, in seconds. This parameter corresponds to the last field in the alarm policy when an alarm rule is created on the Cloud Eye console. This field is used to avoid frequent alarms. 0 indicates that the alarm is not suppressed and alarms are generated as long as the conditions are met. 300 indicates that an alarm is generated every 5 minutes as long as the alarm triggering conditions are met. Minimum: 0 Maximum: 86400 Enumeration values:
|
level |
No |
Integer |
Specifies the alarm severity, which can be 1 (critical), ** 2** (major), 3 (minor), or 4 (informational). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Specifies the notification type. notification indicates that notifications are sent through Simple Message Notification (SMN). Regex Pattern: ^(notification|autoscaling|ecsRecovery|contact|contactGroup|iecAction)$ |
notification_list |
Yes |
Array of strings |
Specifies the list of objects to be notified if the alarm status changes. The value of topicUrn can be obtained from SMN. For details, see section "Querying Topics". When type is set to notification, notification_list cannot be left blank. Note: If alarm_action_enabled is set to true, alarm_actions, ok_actions, or both of them must be specified. If alarm_actions and ok_actions coexist, their notification_list values must be the same. Array Length: 0 - 20 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
alarm_id |
String |
Specifies the ID of an alarm rule, which starts with al and is followed by 22 characters, including letters and digits. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Specifies the status codes customized by each cloud service when a request error occurs. Minimum: 0 Maximum: 256 |
error_msg |
String |
Specifies the request error message. Minimum: 0 Maximum: 256 |
request_id |
String |
Specifies the request ID. Minimum: 0 Maximum: 256 |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Specifies the status codes customized by each cloud service when a request error occurs. Minimum: 0 Maximum: 256 |
error_msg |
String |
Specifies the request error message. Minimum: 0 Maximum: 256 |
request_id |
String |
Specifies the request ID. Minimum: 0 Maximum: 256 |
Example Requests
Creating an alarm rule whose name is alarm-lxy-rg-RDS, type is RESOURCE_GROUP, ** suppress_duration** is 86400, and level is 2
{ "name" : "alarm-lxy-rg-RDS", "description" : "", "namespace" : "SYS.RDS", "type" : "RESOURCE_GROUP", "resources" : [ [ { "name" : "rds_cluster_id" "value" : "rdsxxx" } ] ], "policies" : [ { "metric_name" : "rds001_cpu_util", "period" : 1, "filter" : "average", "comparison_operator" : ">=", "value" : 0, "unit" : "%", "count" : 1, "suppress_duration" : 86400, "level" : 2 } ], "enabled" : true, "notification_enabled" : false, "resource_group_id" : "rg1623429506587NbRweoa3J", "enterprise_project_id" : "a9d919b7-0456-4bb8-b470-6a23b64f4f7e", "alarm_template_id" : "at1628592157541dB1klWgY6" }
Example Responses
Status code: 201
Alarm rule created.
{ "alarm_id" : "alCzk8o9dtSQHtiDgb44Eepw" }
Status Codes
Status Code |
Description |
---|---|
201 |
Alarm rule created. |
400 |
Failed to verify parameters. |
500 |
Internal system error. |
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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot