All Products
Search
Document Center

Auto Scaling:CreateAlarm

Last Updated:Dec 11, 2024

Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.

Operation description

  • If you set MetricType to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see Event-triggered tasks of the custom monitoring type.

  • When you create an event-triggered task, you must specify MetricName, Dimensions.DimensionKey, and Dimensions.DimensionValue to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify user_id and scaling_group for an event-triggered task to aggregate monitoring data of all ECS instances or elastic container instances in a scaling group within an Alibaba Cloud account.

    • If you create an event-triggered task of the custom monitoring type, you can specify only custom metrics in the task.
    • If you create an event-triggered task of the system monitoring type, you can specify the system metrics described in Event-triggered tasks of the system monitoring type in the task.
Note user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see Dimensions.DimensionKey and Dimensions.DimensionValue in the "Request parameters" section of this topic.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
ess:CreateAlarmcreate
*All Resources
*
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

The region ID of the scaling group.

cn-hangzhou
NamestringNo

The name of the event-triggered task.

TestAlarmTask
DescriptionstringNo

The description of the event-triggered task.

Test alarm task.
ScalingGroupIdstringYes

The scaling group ID of the event-triggered task.

asg-bp18p2yfxow2dloq****
MetricNamestringNo

The metric name. The valid values of this parameter vary based on the metric type.

  • If you set MetricType to custom, the valid values are the metrics that you have.

  • If you set MetricType to system, this parameter has the following valid values:

    • CpuUtilization: the CPU utilization. Unit: %.
    • ConcurrentConnections: the number of concurrent connections.
    • IntranetTx: the outbound traffic over an internal network. Unit: KB/min.
    • IntranetRx: the inbound traffic over an internal network. Unit: KB/min.
    • VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.
    • VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.
    • SystemDiskReadBps: the number of bytes read from the system disk per second.
    • SystemDiskWriteBps: the number of bytes written to the system disk per second.
    • SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.
    • SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.
    • CpuUtilizationAgent: the CPU utilization. Unit: %.
    • GpuUtilizationAgent: the GPU utilization. Unit: %.
    • GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.
    • GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.
    • MemoryUtilization: the memory usage. Unit: %.
    • LoadAverage: the average system load.
    • TcpConnection: the total number of TCP connections.
    • TcpConnection: the number of established TCP connections.
    • PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.
    • PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.
    • PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.
    • PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.
    • EciPodCpuUtilization: the CPU utilization. Unit: %.
    • EciPodMemoryUtilization: the memory usage. Unit: %.
    • LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.

For more information, see Event-triggered tasks of the system monitoring type.

CpuUtilization
MetricTypestringNo

The type of the metric. Valid values:

  • system: system metrics of CloudMonitor
  • custom: custom metrics that are reported to CloudMonitor
system
PeriodintegerNo

The statistical period of the metric data. Unit: seconds. Valid values:

  • 15
  • 60
  • 120
  • 300
  • 900
Note You can set this parameter to 15 seconds only for scaling groups of the ECS type.

Default value: 300.

300
StatisticsstringNo

The method that is used to aggregate statistics for the metric. Valid values:

  • Average
  • Minimum
  • Maximum

Default value: Average.

Average
ThresholdfloatNo

The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.

80.0
ComparisonOperatorstringNo

The operator that is used to compare the metric value and the threshold. Valid values:

  • If the metric value is greater than or equal to the threshold, set the value to: >=.
  • If the metric value is less than or equal to the threshold, set the value to: <=.
  • If the metric value is greater than the threshold, set the value to: >.
  • If the metric value is less than the threshold, set the value to: <.

Default value: >=.

>=
EvaluationCountintegerNo

The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.

Default value: 3.

3
GroupIdintegerNo

The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.

4055401
EffectivestringNo

The effective period of the event-triggered task. By default, the event-triggered task is in effect all the time.

This parameter follows the cron expression format. The default format is X X X X X ?. In the format:

  • X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see Cron expression.
  • ?: No value is specified.
Note By default, this parameter value is specified in UTC+8. You can specify the time zone in the TZ=+yy format before a cron expression. y indicates the time zone. For example, TZ=+00 * * 1-2 * * ? specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.

Sample values:

  • * * * * * ? : The event-triggered task is in effect all the time.
  • * * 17-18 * * ? : The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.
  • TZ=+00 * * 1-2 * * ?: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.
TZ=+00 * * 1-2 * * ?
AlarmActionsarrayNo

The list of unique identifiers of the scaling rules that are associated with the event-triggered task.

stringNo

The list of unique identifiers of the scaling rules that are associated with the event-triggered task.

ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****
Dimensionsarray<object>No

The metric dimensions.

objectNo

The metric dimensions.

DimensionKeystringNo

The dimension key of the metric. The valid values vary based on the metric type.

  • If you set MetricType to custom, you can specify this parameter based on your business requirements.

  • If you set MetricType to system, this parameter has the following valid values:

    • user_id: the ID of your Alibaba Cloud account.
    • scaling_group: the scaling group that you want to monitor by using the event-triggered task.
    • device: the NIC type.
    • state: the status of the TCP connection.
device
DimensionValuestringNo

The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.

  • If you set MetricType to custom, you can specify this parameter based on your business requirements.

  • If you set MetricType to system, this parameter has the following valid values:

    • user_id: The system specifies the value.

    • scaling_group: The system specifies the value.

    • device: You can set this parameter to eth0 or eth1.

      • For instances of the classic network type, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.
      • For instances of the classic network type, eth1 specifies the public NIC.
    • state: You can set this parameter to TCP_TOTAL or ESTABLISHED.

      • TCP_TOTAL specifies the total number of TCP connections.
      • ESTABLISHED specifies the number of TCP connections that are established.
eth0
Expressionsarray<object>No

The information about the multi-metric alert rules.

objectNo

The expressions that are specified in the multi-metric alert rule.

MetricNamestringNo

The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.

  • If you set MetricType to custom, the valid values are the metrics that you have.

  • If you set MetricType to system, this parameter has the following valid values:

    • CpuUtilization: the CPU utilization. Unit: %.
    • ConcurrentConnections: the number of concurrent connections.
    • IntranetTx: the outbound traffic over an internal network. Unit: KB/min.
    • IntranetRx: the inbound traffic over an internal network. Unit: KB/min.
    • VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.
    • VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.
    • SystemDiskReadBps: the number of bytes read from the system disk per second.
    • SystemDiskWriteBps: the number of bytes written to the system disk per second.
    • SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.
    • SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.
    • CpuUtilizationAgent: the CPU utilization. Unit: %.
    • GpuUtilizationAgent: the GPU utilization. Unit: %.
    • GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.
    • GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.
    • MemoryUtilization: the memory usage. Unit: %.
    • LoadAverage: the average system load.
    • TcpConnection: the total number of TCP connections.
    • TcpConnection: the number of established TCP connections.
    • PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.
    • PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.
    • PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.
    • PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.
    • EciPodCpuUtilization: the CPU utilization. Unit: %.
    • EciPodMemoryUtilization: the memory usage. Unit: %.
    • LoadBalancerRealServerAverageQps: the QPS of an instance.

For more information, see Event-triggered tasks of the system monitoring type.

CpuUtilization
ComparisonOperatorstringNo

The operator that you want to use to compare the metric value and the threshold in the multi-metric alert rule. Valid values:

  • If the metric value is greater than or equal to the threshold, set the value to >=.
  • If the metric value is less than or equal to the metric threshold, set the value to <=.
  • If the metric value is greater than the metric threshold, set the value to >.
  • If the metric value is less than the metric threshold, set the value to <.

Default value: >=.

>=
PeriodintegerNo

The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:

  • 15
  • 60
  • 120
  • 300
  • 900
Note You can set this parameter to 15 seconds only for scaling groups of the ECS type.

Default value: 300.

900
StatisticsstringNo

The method that you want to use to aggregate the metric data in the multi-metric alert rule. Valid values:

  • Average: the average value.
  • Minimum: the minimum value
  • Maximum: the maximum value

Default value: Average.

Average
ThresholdfloatNo

The threshold of the metric value in the multi-metric alert rule. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.

40.0
ExpressionsLogicOperatorstringNo

The relationship between the trigger conditions in the multi-metric alert rule. Valid values:

  • &&: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are true.
  • ||: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.

Default value: &&.

&&

Response parameters

ParameterTypeDescriptionExample
object
AlarmTaskIdstring

The ID of the event-triggered task.

asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****
RequestIdstring

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

Examples

Sample success responses

JSONformat

{
  "AlarmTaskId": "asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
No change history