全部产品
Search
文档中心

弹性伸缩:CreateAlarm

更新时间:Feb 05, 2024

针对具有突发性或时间上不易预测的业务,调用CreateAlarm创建一个报警任务,该任务关联云监控指标后,可以动态调整伸缩组内的ECS实例或ECI实例数量,并实时监控实例指标,帮助您更好地管理和维护云资源。

接口说明

  • 如果您创建自定义监控类型的报警任务(MetricType=custom),您需要先将自定义监控项指标上报到云监控。具体操作,请参见自定义监控报警任务
  • 创建报警任务时,您需要指定监控项(MetricName),并配合维度信息(Dimension.N.DimensionKey和Dimension.N.DimensionValue),来确定伸缩组中该监控项数据的聚合范围。例如,指定user_id和scaling_group来确定聚合该用户、该伸缩组下所有ECS实例或ECI实例的监控项数据。
    • 自定义监控报警任务(MetricType=custom)的监控项取决于您自有的监控指标。
    • 系统监控报警任务(MetricType=system)支持的监控项的更多信息,请参见系统监控报警任务
说明 维度信息中,user_id和scaling_group由系统自动填充,device、state需要您手动指定。更多信息,请参见参数Dimension.N.DimensionKeyDimension.N.DimensionValue

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String CreateAlarm

系统规定参数。取值:CreateAlarm

RegionId String cn-hangzhou

伸缩组所属的地域ID。

Name String TestAlarmTask

报警任务的名称。

Description String Test alarm task.

报警任务的描述。

ScalingGroupId String asg-bp18p2yfxow2dloq****

报警任务关联的伸缩组的ID。

MetricName String CpuUtilization

监控项名称。取值范围与报警任务的监控类型有关:

  • 当报警任务为自定义监控类型(即MetricType=custom)时,取值范围是您自有的监控项范围。
  • 当报警任务为系统监控类型(即MetricType=system)时,取值范围如下:
    • CpuUtilization:(ECS)CPU使用率(%)。
    • ConcurrentConnections:(ECS)ECS同时连接数(个)。
    • IntranetTx:(ECS)内网出流量(Kb/min)。
    • IntranetRx:(ECS)内网入流量(Kb/min)。
    • VpcInternetTx:(ECS)外网出流量(Kb/min)。
    • VpcInternetRx:(ECS)外网入流量(Kb/min)。
    • SystemDiskReadBps:(ECS)系统盘读BPS(Byte/s)。
    • SystemDiskWriteBps:(ECS)系统盘写BPS(Byte/s)。
    • SystemDiskReadOps:(ECS)系统盘读IOPS(次/s)。
    • SystemDiskWriteOps:(ECS)系统盘写IOPS(次/s)。
    • CpuUtilizationAgent:(Agent)CPU使用率(%)。
    • GpuUtilizationAgent:(Agent)GPU使用率(%)。
    • GpuMemoryFreeUtilizationAgent:(Agent)GPU内存空闲率(%)。
    • GpuMemoryUtilizationAgent:(Agent)GPU内存使用率(%)。
    • MemoryUtilization:(Agent)内存(%)。
    • LoadAverage:(Agent)系统平均负载。
    • TcpConnection:(Agent)TCP总连接数(个)。
    • TcpConnection:(Agent)TCP已建立连接数(个)。
    • PackagesNetOut:(Agent)内网网卡发包数(个/s)。
    • PackagesNetIn:(Agent)内网网卡收包数(个/s)。
    • PackagesNetOut:(Agent)外网网卡发包数(个/s)。
    • PackagesNetIn:(Agent)外网网卡收包数(个/s)。
    • EciPodCpuUtilization:CPU使用率(%)。
    • EciPodMemoryUtilization:内存(%)。
    • LoadBalancerRealServerAverageQps:(ALB)服务器组单机QPS(次/s)。

更多信息,请参见系统监控报警任务

MetricType String system

监控项类型。取值范围:

  • system:使用云监控系统指标。
  • custom:使用上报到云监控的自定义指标。
Period Integer 300

统计监控项数据的周期,单位:秒。取值范围:

  • 15。
  • 60。
  • 120。
  • 300。
  • 900。
说明 仅ECS类型的伸缩组支持设置15秒的统计周期。

默认值:300。

Statistics String Average

统计监控项数据的方法。取值范围:

  • Average:平均值。
  • Minimum:最小值。
  • Maximum:最大值。

默认值:Average。

Threshold Float 80.0

监控指标的阈值,满足阈值表达式达到指定次数即触发执行伸缩规则。

ComparisonOperator String >=

监控项统计值与阈值的比较符,用于指定监控项统计值与阈值在什么关系下满足条件。取值范围:

  • 监控项统计值大于等于阈值。取值:>=。
  • 监控项统计值小于等于阈值。取值:<=。
  • 监控项统计值大于阈值。取值:>。
  • 监控项统计值小于阈值。取值:<。

默认值:>=。

EvaluationCount Integer 3

触发执行伸缩规则需要满足阈值表达式的次数,例如,CPU使用率平均值3次的统计结果均大于等于80%。

默认值:3。

GroupId Integer 4055401

自定义监控项所属云监控应用分组的ID,仅在监控项类型为custom时需要指定该参数。

Effective String TZ=+00 * * 1-2 * * ?

指定报警任务的生效时间段,默认所有时间都生效。

该参数遵循Cron表达式,默认格式为X X X X X ?,含义如下:

  • X:一个域的占位符,依次表示秒、分钟、小时、日期和月。X可以是确定的取值,也可以是具有逻辑意义的特殊字符。X的取值范围,请参见Cron表达式
  • ?:表示不指定值。
说明 该参数指定值默认为UTC+8时区,支持在Cron表达式之前添加时区信息TZ=+yy来指定时区,其中y表示时区的数值。例如,TZ=+00 * * 1-2 * * ?表示报警任务在UTC+0时区每天01:00~02:59之间生效。

取值示例及含义如下:

  • * * * * * ? :所有时间都生效。
  • * * 17-18 * * ? :在UTC+8时区每天17:00~18:59之间生效。
  • TZ=+00 * * 1-2 * * ?:在UTC+0时区每天01:00~02:59之间生效。
AlarmAction.N String ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****

报警任务关联伸缩规则的唯一标识符。

Dimension.N.DimensionKey String device

监控项关联的维度信息键。取值范围与报警任务的监控类型有关:

  • 当报警任务为自定义监控类型(即MetricType=custom)时,不限制取值范围,由您自行指定。
  • 当报警任务为系统监控类型(即MetricType=system)时,取值范围如下:
    • user_id:您的账号ID。
    • scaling_group:被监控的伸缩组。
    • device:网卡设备的类型。
    • state:TCP连接的状态。
Dimension.N.DimensionValue String eth0

监控项关联的维度信息值,取值范围由Dimension.N.DimensionKey决定:

  • 当Dimension.N.DimensionKey的取值是自定义的,即报警任务是自定义监控类型(即MetricType=custom)时,该参数不限制取值范围,由您自行指定。
  • 当Dimension.N.DimensionKey的取值是系统指定的取值范围中的,即报警任务为系统监控类型(即MetricType=system)时,该参数取值范围如下:
    • user_id:由系统自动填充。
    • scaling_group:由系统自动填充。
    • device:
      • eth0:对于经典网络实例,eth0表示内网网卡。对于VPC实例,只存在eth0一张网卡。
      • eth1:对于经典网络实例,eth1代表外网网卡。
    • state:
      • TCP_TOTAL:表示总的TCP连接数。
      • ESTABLISHED:表示已建立的TCP连接数。
Expression.N.MetricName String CpuUtilization

多指标报警规则的监控指标名称。取值范围与报警任务的监控类型有关:

  • 当报警任务为自定义监控类型(即MetricType=custom)时,取值范围是您自有的监控项范围。
  • 当报警任务为系统监控类型(即MetricType=system)时,取值范围如下所示:
    • CpuUtilization:(ECS)CPU使用率(%)。
    • ConcurrentConnections:(ECS)ECS同时连接数(个)。
    • IntranetTx:(ECS)内网出流量(Kb/min)。
    • IntranetRx:(ECS)内网入流量(Kb/min)。
    • VpcInternetTx:(ECS)外网出流量(Kb/min)。
    • VpcInternetRx:(ECS)外网入流量(Kb/min)。
    • SystemDiskReadBps:(ECS)系统盘读BPS(Byte/s)。
    • SystemDiskWriteBps:(ECS)系统盘写BPS(Byte/s)。
    • SystemDiskReadOps:(ECS)系统盘读IOPS(次/s)。
    • SystemDiskWriteOps:(ECS)系统盘写IOPS(次/s)。
    • CpuUtilizationAgent:(Agent)CPU使用率(%)。
    • GpuUtilizationAgent:(Agent)GPU使用率(%)。
    • GpuMemoryFreeUtilizationAgent:(Agent)GPU内存空闲率(%)。
    • GpuMemoryUtilizationAgent:(Agent)GPU内存使用率(%)。
    • MemoryUtilization:(Agent)内存(%)。
    • LoadAverage:(Agent)系统平均负载。
    • TcpConnection:(Agent)TCP总连接数(个)。
    • TcpConnection:(Agent)TCP已建立连接数(个)。
    • PackagesNetOut:(Agent)内网网卡发包数(个/s)。
    • PackagesNetIn:(Agent)内网网卡收包数(个/s)。
    • PackagesNetOut:(Agent)外网网卡发包数(个/s)。
    • PackagesNetIn:(Agent)外网网卡收包数(个/s)。
    • EciPodCpuUtilization:CPU使用率(%)。
    • EciPodMemoryUtilization:内存(%)。
    • LoadBalancerRealServerAverageQps:(ALB)服务器组单机QPS(次/s)。

更多信息,请参见系统监控报警任务

Expression.N.ComparisonOperator String >=

多指标报警规则的监控项统计值与阈值的比较符,用于指定监控项统计值与阈值在什么关系下满足条件。取值范围:

  • 监控项统计值大于等于阈值。取值:>=。
  • 监控项统计值小于等于阈值。取值:<=。
  • 监控项统计值大于阈值。取值:>。
  • 监控项统计值小于阈值。取值:<。

默认值:>=。

Expression.N.Period Integer 900

多指标报警规则中统计监控项数据的周期,单位:秒。取值范围:

  • 15。
  • 60。
  • 120。
  • 300。
  • 900。
说明 仅ECS类型的伸缩组支持设置15秒的统计周期。

默认值:300。

Expression.N.Statistics String Average

多指标报警规则中统计监控项数据的方法。取值范围:

  • Average:平均值。
  • Minimum:最小值。
  • Maximum:最大值。

默认值:Average。

Expression.N.Threshold Float 40.0

多指标报警规则中监控指标的阈值,满足阈值表达式达到指定次数即触发执行伸缩规则。

ExpressionsLogicOperator String &&

多指标报警条件之间的关系。取值范围:

  • &&:当所有监控指标都符合报警条件时,才能触发报警。即当多指标报警规则下的表达式均为true时,才能触发报警。
  • ||:如果其中一个指标符合报警条件,即可触发报警。

默认值: &&

返回数据

名称

类型

示例值

描述

AlarmTaskId String asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****

报警任务ID。

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

请求ID。

示例

请求示例

http(s)://ess.aliyuncs.com/?Action=CreateAlarm
&RegionId=cn-hangzhou
&Name=TestAlarmTask
&Description=Test alarm task.
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&MetricName=CpuUtilization
&MetricType=system
&Period=300
&Statistics=Average
&Threshold=80.0
&ComparisonOperator=>=
&EvaluationCount=3
&GroupId=4055401
&Effective=TZ=+00 * * 1-2 * * ?
&AlarmAction=["ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****"]
&Dimension=[{"DimensionKey":"device","DimensionValue":"eth0"}]
&Expression=[{"MetricName":"CpuUtilization","ComparisonOperator":">=","Period":900,"Statistics":"Average","Threshold":40.0}]
&ExpressionsLogicOperator=&&
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateAlarmResponse>
    <AlarmTaskId>asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****</AlarmTaskId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateAlarmResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

错误码

访问错误中心查看更多错误码。

HttpCode

错误码

错误信息

描述

404

InvalidParameter

The specified value of parameter "%s" is not valid.

指定参数“%s”不合法。