Updated on 2022-09-14 GMT+08:00

Modifying an Alarm Rule

Function

This API is used to modify an alarm rule.

URI

PUT /V1.0/{project_id}/alarms/{alarm_id}

  • 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.

    alarm_id

    Yes

    Specifies the alarm rule ID.

  • Example
    PUT https://{Cloud Eye endpoint}/V1.0/{project_id}/alarms/{alarm_id}

Request

  • Request parameters
    Table 2 Parameter description

    Parameter

    Mandatory

    Type

    Description

    alarm_name

    No

    String

    Specifies the alarm rule name. Only letters, digits, underscores (_), and hyphens (-) are allowed.

    alarm_description

    No

    String

    Provides supplementary information about the alarm rule. Enter 0 to 256 characters.

    condition

    No

    Condition object

    Specifies the alarm policy set in the alarm rule.

    For details, see Table 3.

    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. If alarm_actions and ok_actions coexist, their notificationList must be the same.

    alarm_level

    No

    Integer

    Specifies the alarm severity, which can be 1, 2 (default), 3 or 4, indicating critical, major, minor, and informational, respectively.

    alarm_type

    No

    String

    Specifies the alarm rule type. The following enumeration types are supported:

    EVENT.SYS: The alarm rule is created for system events.

    EVENT.CUSTOM: The alarm rule is created for custom events.

    RESOURCE_GROUP: The alarm rule is created for resource groups.

    alarm_actions

    No

    Arrays of objects

    Specifies the action to be triggered by an alarm. The structure example is as follows: { "type": "notification","notificationList": ["urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd"] }

    Possible values of type are as follows:

    notification: indicates that a notification will be sent.

    autoscaling: indicates that a scaling action will be triggered.

    For details, see Table 4.

    insufficientdata_actions

    No

    Arrays of objects

    Specifies the action to be triggered by the alarm of insufficient data. (You do not need to configure this deprecated parameter.)

    For details, see Table 6.

    ok_actions

    No

    Arrays of objects

    Specifies the action to be triggered after the alarm is cleared.

    For details, see Table 5.

    Table 3 condition data structure description

    Parameter

    Mandatory

    Type

    Description

    period

    Yes

    Integer

    Specifies how often Cloud Eye aggregates data, which can be

    • 1: Cloud Eye performs no aggregation and displays raw data.
    • 300: Cloud Eye aggregates data every 5 minutes.
    • 1200: Cloud Eye aggregates data every 20 minutes.
    • 3600: Cloud Eye aggregates data every 1 hour.
    • 14400: Cloud Eye aggregates data every 4 hours.
    • 86400: Cloud Eye aggregates data every 24 hours.

    filter

    Yes

    String

    Specifies the data rollup method, which can be

    • average: Cloud Eye calculates the average value of metric data within a rollup period.
    • max: Cloud Eye calculates the maximum value of metric data within a rollup period.
    • min: Cloud Eye calculates the minimum value of metric data within a rollup period.
    • sum: Cloud Eye calculates the sum of metric data within a rollup period.
    • variance: Cloud Eye calculates the variance value of metric data within a rollup period.

    comparison_operator

    Yes

    String

    Specifies the operator of alarm thresholds, which can be >, =, <, >=, or <=.

    value

    Yes

    Double

    Specifies the alarm threshold.

    Supported range: 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 to 80.

    unit

    No

    String

    Specifies the data unit. Enter up to 32 characters.

    count

    Yes

    Integer

    Specifies the number of consecutive occurrence times that the alarm policy was met. Supported range: 1 to 5

    suppress_duration

    No

    integer

    Specifies the interval for triggering an alarm if the alarm persists. Possible intervals are as follows:

    0: Cloud Eye triggers the alarm only once.

    300: Cloud Eye triggers the alarm every 5 minutes.

    600: Cloud Eye triggers the alarm every 10 minutes.

    900: Cloud Eye triggers the alarm every 15 minutes.

    1800: Cloud Eye triggers the alarm every 30 minutes.

    3600: Cloud Eye triggers the alarm every hour.

    10800: Cloud Eye triggers the alarm every 3 hours.

    21600: Cloud Eye triggers the alarm every 6 hours.

    43200: Cloud Eye triggers the alarm every 12 hours.

    86400: Cloud Eye triggers the alarm every day.

    Table 4 alarm_actions data structure description

    Parameter

    Mandatory

    Type

    Description

    type

    Yes

    String

    Specifies the alarm notification type.
    • notification: indicates that a notification will be sent.
    • 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 up to 5 object IDs. topicUrn can be obtained from SMN. For details, see Querying Topics.

    If you set type to notification, you must specify notificationList. If you set type to autoscaling, you must set notificationList to [].

    NOTE:
    • To make the Auto Scaling (AS) alarm rule take effect, you must bind the scaling policy. For details, see Creating an AS Policy.
    • 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 must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
    • The IDs in the list are strings.
    Table 5 ok_actions 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.
    • 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. The list contains a maximum of 5 object IDs. topicUrn can be obtained from SMN. For details, see Querying Topics.

    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 must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)

    Table 6 insufficientdata_actions 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.
    • 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 up to 5 object IDs. topicUrn can be obtained from SMN. For details, see Querying Topics.

    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 must be the same. (You do not need to configure the deprecated parameter insufficientdata_actions.)
    • The IDs in the list are strings.
  • Example request
    {
       "alarm_name": "alarm-update-test01",
       "alarm_description": "alarm-update-test01",
       "condition": {
           "comparison_operator": ">=",
           "count": 3,
           "filter": "average",
           "period": 1,
           "value": 95
       },
       "alarm_action_enabled": false,
       "alarm_level": 2
    }

Returned Values

  • Normal

    204

  • Abnormal

    Returned Value

    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 Codes

See Error Codes.