Creating an Alarm Rule
Function
This API is used to create an alarm rule.
URI
POST /V1.0/{project_id}/alarms
- Parameter description
Table 1 Parameter description Parameter
Mandatory
Description
project_id
Yes
Specifies the project ID.
For details about how to obtain the project ID, see Obtaining a Project ID.
- Example
POST https://{Cloud Eye endpoint}/V1.0/{project_id}/alarms
Request
- Request parameters
Table 2 Request parameters Parameter
Mandatory
Type
Description
alarm_name
Yes
String
Specifies the alarm rule name.
The value can contain 1 to 128 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.
alarm_description
No
String
Provides supplementary information about the alarm rule. Enter 0 to 256 characters.
metric
Yes
Object
Specifies the alarm metric.
For details, see Table 3.
condition
Yes
Object
Specifies the alarm triggering condition.
For details, see Table 8.
alarm_enabled
No
Boolean
Specifies whether to enable the alarm.
The default value is true.
alarm_action_enabled
No
Boolean
Specifies whether to enable the action to be triggered by an alarm. The default value is true.
NOTE:If you set alarm_action_enabled to true, you must specify either alarm_actions or ok_actions. (You do not need to configure the deprecated parameter insufficientdata_actions.)
If alarm_actions and ok_actions coexist, their notificationList values must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
alarm_level
No
Integer
Specifies the alarm severity. Possible values are 1, 2, 3 and 4, which indicates critical, major, minor, and informational, respectively.
alarm_actions
No
Arrays of objects
Specifies the action triggered by an alarm.
An example structure is as follows:
{
"type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"]
}
For details, see Table 5.
ok_actions
No
Arrays of objects
Specifies the action to be triggered after the alarm is cleared.
Its structure is:
{ "type": "notification","notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d47:sd"] }
For details, see Table 6.
Table 3 metric field data structure description Parameter
Mandatory
Type
Description
namespace
Yes
String
Specifies the namespace of a service. For example, see Namespace for ECS namespace.
The value must be in the service.item format and can contain 3 to 32 characters. service and item each must be a string that starts with a letter and contains only letters, digits, and underscores (_).
dimensions
Yes
Arrays of objects
Specifies the list of metric dimensions.
For details, see Table 4.
metric_name
Yes
String
Specifies the metric name.
The value can be a string of 1 to 64 characters, must start with a letter, and contain only letters, digits, and underscores (_).
For details, see the metric name queried in Querying the Metric List.
resource_group_id
No
String
Specifies the resource group ID selected during the alarm rule creation, for example, rg1603786526428bWbVmk4rP.
Table 4 dimensions field data structure description Parameter
Mandatory
Type
Description
name
No
String
Specifies the dimension. For example, the ECS dimension is instance_id, which is listed in the key column in Dimension.
The value can be a string of 1 to 32 characters, must start with a letter, and contain only letters, digits, underscores (_), and hyphens (-).
value
No
String
The value can be a string of 1 to 256 characters, must start with a letter or a digit, and contain only letters, digits, underscores (_), and hyphens (-).
Table 5 alarm_actions field data structure description Parameter
Mandatory
Type
Description
type
Yes
String
Specifies the alarm notification type.- notification: indicates that a notification will be sent to the user.
- autoscaling: indicates that a scaling action will be triggered.
notificationList
Yes
Arrays of strings
Specifies the list of objects to be notified if the alarm status changes. You can configure a maximum of 5 object IDs. You can obtain the topicUrn value from SMN in the following format: urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}.
If type is set to notification, the value of notificationList cannot be empty. If type is set to autoscaling, the value of notificationList must be [].
NOTE:- To make the AS alarm rules take effect, you must bind scaling policies. For details, see the Auto Scaling API Reference.
- If you set alarm_action_enabled to true, you must specify either alarm_actions or ok_actions. (You do not need to configure the deprecated parameter insufficientdata_actions.)
- If alarm_actions and ok_actions coexist, their notificationList values must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
- The IDs in the list are character strings.
Table 6 ok_actions field data structure description Parameter
Mandatory
Type
Description
type
Yes
String
Specifies the notification type when an alarm is triggered.- notification: indicates that a notification will be sent to the user.
- autoscaling: indicates that a scaling action will be triggered.
notificationList
Yes
Arrays of objects
Specifies the list of objects to be notified if the alarm status changes. You can configure a maximum of 5 object IDs. You can obtain the topicUrn value from SMN in the following format: urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}.
NOTE:If you set alarm_action_enabled to true, you must specify either alarm_actions or ok_actions. (You do not need to configure the deprecated parameter insufficientdata_actions.)
If alarm_actions and ok_actions coexist, their notificationList values must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
Table 7 insufficientdata_actions field data structure description Parameter
Mandatory
Type
Description
type
Yes
String
Specifies the notification type when an alarm is triggered.- notification: indicates that a notification will be sent to the user.
- autoscaling: indicates that a scaling action will be triggered.
notificationList
Yes
Arrays of objects
Specifies the list of objects to be notified if the alarm status changes. You can add up to 5 objects. You can obtain the topicUrn value from SMN in the following format: urn:smn:([a-z]|[A-Z]|[0-9]|\-){1,32}:([a-z]|[A-Z]|[0-9]){32}:([a-z]|[A-Z]|[0-9]|\-|\_){1,256}.
NOTE:- If you set alarm_action_enabled to true, you must specify either alarm_actions or ok_actions. (You do not need to configure the deprecated parameter insufficientdata_actions.)
- If alarm_actions and ok_actions coexist, their notificationList values must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
- The IDs in the list are character strings.
Table 8 condition field data structure description Parameter
Mandatory
Type
Description
period
Yes
Integer
Specifies the period during which Cloud Eye determines whether to trigger an alarm. Unit: second
Possible values are 1, 300, 1200, 3600, 14400, and 86400.
NOTE:- If you set period to 1, Cloud Eye uses raw data to determine whether to trigger an alarm.
filter
Yes
String
Specifies the data rollup method.
Possible values are max, min, average, sum, or variance.
comparison_operator
Yes
String
Specifies the operator of alarm thresholds.
Possible values are >, =, <, ≥, and ≤.
value
Yes
Double
Specifies the alarm threshold.
The value ranges from 0 to Number. MAX_VALUE (1.7976931348623157e+108).
For detailed thresholds, see the value range of each metric in the appendix. For example, you can set ECS cpu_util in Metricsto 80.
unit
No
String
Specifies the data unit. The value contains a maximum of 32 characters.
count
Yes
Integer
Specifies the number of consecutive occurrence times that the alarm policy was met. The value ranges from 1 to 5.
- Example request
{ "alarm_name": "alarm-rp0E", "alarm_description": "", "metric": { "namespace": "SYS.ECS", "dimensions": [ { "name": "instance_id", "value": "33328f02-3814-422e-b688-bfdba93d4051" } ], "metric_name": "network_outgoing_bytes_rate_inband" }, "condition": { "period": 300, "filter": "average", "comparison_operator": ">=", "value": 6, "unit": "B/s", "count": 1 }, "alarm_enabled": true, "alarm_action_enabled": true, "alarm_level": 2, "alarm_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ], "ok_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ], "insufficientdata_actions": [ { "type": "notification", "notificationList": ["urn:smn:region:68438a86d98e427e907e0097b7e35d48:sd"] } ] }
Response
- Response parameters
Table 9 Response parameters Parameter
Type
Description
alarm_id
String
Specifies the alarm rule ID.
- Example response
{ "alarm_id":"al1450321795427dR8p5mQBo" }
Returned Values
- Normal
- Abnormal
Returned Values
Description
400 Bad Request
Request error.
401 Unauthorized
The authentication information is not provided or is incorrect.
403 Forbidden
You are forbidden to access the page requested.
408 Request Timeout
The request timed out.
429 Too Many Requests
Concurrent requests are excessive.
500 Internal Server Error
Failed to complete the request because of an internal service error.
503 Service Unavailable
The service is currently unavailable.
Error Code
For details, 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