全部产品
Search
文档中心

弹性伸缩:报警任务概述

更新时间:Oct 31, 2023

报警任务是弹性伸缩利用云监控服务(CMS)产品功能的一种动态管理伸缩组的方式。类似于定时任务,报警任务通过触发您指定的伸缩规则来执行伸缩活动,达到自动调整伸缩组内实例个数的目的。

报警任务介绍

报警任务通过监控特定的监控指标,对数据指标进行实时的统计,当统计值满足您指定的报警条件时,触发报警并执行您指定的伸缩规则。使用报警任务,可以实现根据业务变化实时调整伸缩组内的实例数量,保证监控指标的值维持在您期望的范围内。报警任务分为两种类型:

  • 系统监控报警任务:标准化的报警任务,您可以选择系统定义好的系统监控项。

  • 自定义监控报警任务:定制化的报警任务,为您将自有监控系统接入报警任务提供标准化方式,提升报警任务的可用性。

定时任务可以在您指定的时间执行您指定的伸缩规则,当业务场景在时间上可预料时,能够提前创建定时任务,更多信息,请参见定时任务概述。但是,在面对突发或者时间上不可预料的业务场景下,定时任务就难以满足业务需求,相比较定时任务的局限性,报警任务在该场景下可以提供更灵活的伸缩规则触发方式,会实时根据业务使用情况,在业务高峰期增加伸缩组内实例数量来缓解业务压力,在业务低谷时释放伸缩组内实例来减小生产成本。

使用限制

  • 如果伸缩组开启了期望实例数功能,当伸缩组内正在执行非并行伸缩活动时,不能执行其他伸缩活动。更多信息,请参见期望实例数

  • 报警任务在触发伸缩规则时受伸缩规则冷却时间影响,伸缩规则在冷却时间内时,会拒绝执行伸缩规则。

    伸缩组内新增加的ECS实例或ECI实例从加入伸缩组到完成系统启动配置,部署您的业务,获取到监控数据需要一定的时间(通常需要几分钟),因此您应该根据具体的业务场景,设置合适的冷却时间,防止在新增实例的监控数据缺失的这段时间中,重复触发伸缩规则。

  • 报警任务默认设置了1分钟的沉默时间(统计周期),即触发报警之后,1分钟内不会再次触发伸缩规则。

Cron表达式

在弹性伸缩控制台配置报警任务的生效周期参数时,您可以选择Cron表达式来进行设置。

Cron表达式是一个具有时间含义的字符串,每个具有时间含义的字符叫做域,域之间用空格隔开。弹性伸缩报警任务支持5个域的Cron表达式,格式为X X X X XX是一个域的占位符。Cron表达式中的每个域依次表示秒、分钟、小时、日期和月,每个域可以是确定的取值,也可以是具有逻辑意义的特殊字符。

报警任务配置Cron表达式时,需要注意以下内容:

  • Cron表达式采用UTC+0时区,在配置Cron表达式时,您需要把本地时间换算成在UTC+0时区的时间。例如,中国的时区是UTC+8,如果您计划将报警生效周期设置为中国时区(例如每天01:00~02:59)的时间段,需要将计划执行时间减去8小时,设置的Cron表达式应为* * 17-18 * *

  • 在报警任务生效周期范围之外,若触发报警,则报警任务会显示报警状态,但不会执行报警触发规则。

表 1. 域取值

是否必需

取值范围

特殊字符

0~59

, - / *

分钟

0~59

, - / *

小时

0~23

, - / *

1~31

, - / * L W

1~12

, - / *

表 2. 特殊字符

特殊字符

含义

示例

*

域内的所有可能值。

在月域中,*表示每个月。

,

列出枚举值。

在分钟域中,5,20表示第5分钟和第20分钟。

-

表示范围值。

在分钟域中,5-20表示从第5分钟到第20分钟之间的每一分钟。

/

指定数值的增量。

在分钟域中,0/15表示从第0分钟开始的每15分钟,3/20表示从第3分钟开始的每20分钟。

L

单词Last的首字母,表示最后一天,仅日期域支持该字符。

说明

指定L字符时,避免指定列表或者范围,否则,会导致逻辑问题。

在日期域中,L表示某个月的最后一天。

W

除周末以外的有效工作日,在离指定日期的最近的有效工作日触发事件。W字符寻找最近有效工作日时不会跨过当前月份。

在日期域中5W,如果5日是星期六,则将在最近的工作日星期五,即4日触发。如果5日是星期天,则将在最近的工作日星期一,即6日触发;如果5日在星期一到星期五中的一天,则就在5日触发。

表 4. 取值示例

下表以UTC+0时区为例,说明不同的Cron表达式示例代表的含义。在设置Cron表达式时,请注意将本地时间换算成在UTC+0时区的时间。

示例

说明

* * * * *

所有时间都生效

* 0-30 1-2 * *

每天01:00~01:30和02:00~02:30时间段生效

* * 0,2 * *

每天00:00~00:59和02:00~02:59时间段生效

* * 1 1/2 *

从每月第一天开始,每2天01:00~01:59时间段生效。比如,每月前两次生效时间分别是1日01:00~01:59、3日01:00~01:59。

* * 1 L *

每月最后一日01:00~01:59时间段生效

* * 1 5W *

根据每月5日是否是工作日,生效时间不同:

  • 5日是工作日,即在周一至周五之间:当月5日01:00~01:59时间段生效

  • 5日是周六时:当月4日01:00~01:59时间段生效

  • 5日是周天时:当月6日01:00~01:59时间段生效

如何配置报警任务

配置伸缩组内报警任务的相关操作如下所示:

控制台文档

说明

API文档

配置报警任务

创建报警任务

CreateAlarm

查看报警任务

DescribeAlarms

修改或删除报警任务

停用或启用报警任务