警示任務是Auto Scaling利用CloudMonitor服務(CMS)產品功能的一種動態管理伸縮組的方式。類似於定時任務,警示任務通過觸發您指定的伸縮規則來執行伸縮活動,達到自動調整伸縮組內執行個體個數的目的。
警示任務介紹
警示任務通過監控特定的監控指標,對資料指標進行即時的統計,當統計值滿足您指定的警示條件時,觸發警示並執行您指定的伸縮規則。使用警示任務,可以實現根據業務變化即時調整伸縮組內的執行個體數量,保證監控指標的值維持在您期望的範圍內。警示任務分為兩種類型:
定時任務可以在您指定的時間執行您指定的伸縮規則,當業務情境在時間上可預料時,能夠提前建立定時任務,更多資訊,請參見定時任務概述。但是,在面對突發或者時間上不可預料的業務情境下,定時任務就難以滿足業務需求,相比較定時任務的局限性,警示任務在該情境下可以提供更靈活的伸縮規則引發方式,會即時根據業務使用方式,在業務高峰期增加伸縮組內執行個體數量來緩解業務壓力,在業務低穀時釋放伸縮組內執行個體來減小生產成本。
使用限制
如果伸縮組開啟了期望執行個體數功能,當伸縮組內正在執行非並行伸縮活動時,不能執行其他伸縮活動。更多資訊,請參見期望執行個體數。
警示任務在觸發伸縮規則時受伸縮規則冷卻時間影響,伸縮規則在冷卻時間內時,會拒絕執行伸縮規則。
伸縮組內新增加的ECS執行個體或ECI執行個體從加入伸縮組到完成系統啟動配置,部署您的業務,擷取到監控資料需要一定的時間(通常需要幾分鐘),因此您應該根據具體的業務情境,設定合適的冷卻時間,防止在新增執行個體的監控資料缺失的這段時間中,重複觸發伸縮規則。
警示任務預設設定了1分鐘的沉默時間(統計周期),即觸發警示之後,1分鐘內不會再次觸發伸縮規則。
Cron運算式
在Auto Scaling控制台配置警示任務的生效周期參數時,您可以選擇Cron運算式來進行設定。
Cron運算式是一個具有時間含義的字串,每個具有時間含義的字元叫做域,域之間用空格隔開。Auto Scaling警示任務支援5個域的Cron運算式,格式為X X X X X
,X
是一個域的預留位置。Cron運算式中的每個域依次表示秒、分鐘、小時、日期和月,每個域可以是確定的取值,也可以是具有邏輯意義的特殊字元。
警示任務配置Cron運算式時,需要注意以下內容:
Cron運算式採用UTC+0時區,在配置Cron運算式時,您需要把本地時間換算成在UTC+0時區的時間。例如,中國的時區是UTC+8,如果您計劃將警示生效周期設定為中國時區(例如每天01:00~02:59)的時間段,需要將計劃執行時間減去8小時,設定的Cron運算式應為
* * 17-18 * *
。在警示任務生效周期範圍之外,若觸發警示,則警示任務會顯示警示狀態,但不會執行警示觸發規則。
域 | 是否必需 | 取值範圍 | 特殊字元 |
秒 | 是 | 0~59 | , - / * |
分鐘 | 是 | 0~59 | , - / * |
小時 | 是 | 0~23 | , - / * |
日 | 是 | 1~31 | , - / * L W |
月 | 是 | 1~12 | , - / * |
特殊字元 | 含義 | 樣本 |
| 域內的所有可能值。 | 在月域中, |
| 列出枚舉值。 | 在分鐘域中, |
| 表示範圍值。 | 在分鐘域中, |
| 指定數值的增量。 | 在分鐘域中, |
| 單詞Last的首字母,表示最後一天,僅日期域支援該字元。 說明 指定 | 在日期域中, |
| 除周末以外的有效工作日,在離指定日期的最近的有效工作日觸發事件。 | 在日期域中 |
樣本 | 說明 |
| 所有時間都生效 |
| 每天01:00~01:30和02:00~02:30時間段生效 |
| 每天00:00~00:59和02:00~02:59時間段生效 |
| 從每月第一天開始,每2天01:00~01:59時間段生效。比如,每月前兩次生效時間分別是1日01:00~01:59、3日01:00~01:59。 |
| 每月最後一日01:00~01:59時間段生效 |
| 根據每月5日是否是工作日,生效時間不同:
|
如何配置警示任務
配置伸縮組內警示任務的相關操作如下所示:
控制台文檔 | 說明 | API文檔 |
建立警示任務 | ||
查看警示任務 | ||
修改或刪除警示任務 | ||
停用或啟用警示任務 |