摘要: AutoScaling(彈性伸縮) 報警任務迎來全新升級,本次升級從監控範圍,監控方式,監控響應速度等三個方面作出了全方位的優化,升級後的 AutoScaling 報警任務將您提供一種更全面,更可靠的利用報警任務動態管理 AutoScaling 伸縮組的方式。html
AutoScaling(彈性伸縮) 報警任務迎來全新升級,本次升級從監控範圍,監控方式,監控響應速度等三個方面作出了全方位的優化,升級後的 AutoScaling 報警任務將您提供一種更全面,更可靠的利用報警任務動態管理 AutoScaling 伸縮組的方式。java
本次的升級內容主要包括:網絡
AutoScaling 報警任務是 AutoScaling 與 雲監控服務(CMS) 深度合做,提供的一種動態管理伸縮組的方式,相似於 AutoScaling 定時任務,AutoScaling 報警任務經過觸發您指定的伸縮規則來執行伸縮活動,達到調整伸縮組內實例個數的目的。app
定時任務能夠在您指定的時間執行您指定的伸縮規則,當業務場景在時間上可預料時,可以提早作出響應,可是,在面對突發或者時間上不可預料的業務場景時,定時任務就顯得捉襟見肘,此時,就須要報警任務來提供更靈活的觸發伸縮規則的方式,在業務高峯期增長伸縮組內實例數量來緩解業務壓力,在業務低谷時釋放伸縮組內實例,減少生產成本。maven
報警任務經過監控特定的監控指標,對數據指標進行實時的統計,當統計值知足您指定的報警條件時,觸發報警,執行您指定的伸縮規則。使用報警任務,您能夠實時的根據業務的變化來不斷調整伸縮組內的實例數量,保證您監控的指標維持在您指望的範圍內。工具
AutoScaling 系統監控報警任務的監控指標是雲監控爲用戶採集的 ECS 實例的相關數據指標,好比CPU,負載等。用戶在 AutoScaling 中設置的系統監控的報警任務是以伸縮組做爲監控粒度的,即以伸縮組內的全部實例的監控指標的統計平均值做爲伸縮組的指標值,當伸縮組內實例數量發生變化時,監控指標也會同時進行更新。字體
AutoScaling 系統監控報警任務目前支持的監控項,其中紅色字體表明本次升級新增支持的監控項:優化
監控項 | 單位 |
---|---|
CPU | % |
內存 | % |
系統平均負載 | 無 |
內網出流量 | KB/min |
內網入流量 | KB/min |
外網出流量 | KB/min |
外網入流量 | KB/min |
系統盤寫bps | Byte/s |
系統盤讀bps | Byte/s |
系統盤寫iops | 個/s |
系統盤讀iops | 個/s |
外網網卡發包數(經典網絡) | 個/s |
外網網卡收包數(經典網絡) | 個/s |
內網網卡發包數 | 個/s |
內網網卡收包數 | 個/s |
TCP總鏈接數 | 個 |
TCP已創建鏈接數 | 個 |
新購ECS自動安裝雲監控
,爲您全部新購的 ECS 實例安裝雲監控客戶端。AutoScaling 自定義監控項報警任務的監控對象爲用戶自主上報到雲監控中的監控指標。在一些場景下,系統監控項可能不包含您所須要的監控指標,您可能擁有本身的一套監控系統,而且關心的是與您特定業務相關的某些指標,自定義監控報警任務,爲您自有的監控系統,或者與業務相關的自有監控指標提供了設置報警任務的接入點。ui
AutoScaling 自定義監控報警任務是針對阿里云云監控服務的自定義監控項設置報警的,用戶在使用 AutoScaling 自定義監控報警任務以前須要首先向雲監控上報自定義監控數據,即自定義監控項。雲監控自定義監控是提供給用戶自由定義監控項及報警規則的一項服務,經過此服務,用戶能夠針對本身關心的業務指標進行監控,將採集到監控數據上報至雲監控,由雲監控來進行數據的處理,並能夠對其設置報警規則。阿里雲
雲監控的自定義監控服務爲您提供了上報監控數據的方式,您能夠將本身採集到的時序數據上報到雲監控,這樣的數據稱做時間序列。雲監控提供了OpenAPI、Java SDK 和阿里雲命令行工具(CLI) 三種方式上報數據,這裏咱們將主要關注如何使用Java SDK的方式上報監控數據。更多詳細的信息您能夠查看文檔 上報監控數據 。
使用Java sdk以前您須要首先在項目中引入相應的jar包,若是您使用maven管理項目,您只須要在項目中加入如下依賴:
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>3.2.6</version> </dependency> <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>aliyun-cms</artifactId> <version>0.2.4</version> </dependency>
您能夠按照以下的方式向雲監控上報自定義監控項:
static String endPoint = "https://metrichub-cms-cn-hangzhou.aliyuncs.com"; CMSClient cmsClient = new CMSClient(endPoint, accAutoScalingKey, accAutoScalingSecret); CustomMetricUploadRequest request = CustomMetricUploadRequest.builder() .append(CustomMetric.builder() .setMetricName("myCustomMetric")//自定義指標名 .setGroupId(54504L)//設置分組id .setTime(new Date())//時間 .setType(CustomMetric.TYPE_VALUE)//類型爲原始值, .appendValue(MetricAttribute.VALUE, number)//原始值,key只能爲這個 .appendDimension("key1", "value1")//添加維度 .appendDimension("key2","value2") .build()) .build(); CustomMetricUploadResponse response = cmsClient.putCustomMetric(request);//上報
在上述的代碼片斷中,咱們上報了一個數據點到雲監控。上報時,必須指定groupId參數,即雲監控應用分組id,該分組id能夠是您在雲監控中已建立的應用分組,也能夠是一個不存在的應用分組。您能夠在 雲監控應用分組 建立和查看應用應用分組信息。您上報的自定義監控項(時間序列),能夠在雲監控控制的 自定義監控 中查看。
咱們建議您向一個 雲監控中已經存在的應用分組中推送自定義監控數據,雲監控的應用分組是針對多種雲產品的邏輯分組,向一個已存在的應用分組推送自定義監控數據將使您在須要使用雲監控等相關功能時保留擴展的能力。固然,您也能夠徹底沒必要理會應用分組的概念,選擇向任意一個分組id推送數據。
您上報到雲監控的監控數據,雲監控會自動幫您進行聚合,固然,當您須要推送的數據量太大時,您也能夠選擇在本地聚合以後再推送到雲監控。詳細信息能夠參考 上報監控數據 。
須要注意,雲監控對用戶上報監控數據設置瞭如下限制:
在本文的最佳實踐中將具體講解 如何在 AutoScaling 控制檯建立,查看,以及修改一條報警任務。
首先進入 AutoScaling控制檯,選中報警任務側邊欄,點擊建立報警任務。
在彈出的建立報警任務對話框中,咱們選中監控類型爲 系統監控
,設置任務名稱,描述等基本信息,而後選擇監控資源,即報警任務監控的伸縮組,選擇監控項爲cpu(cpu使用率),統計週期選擇1分鐘,表示將對每1分鐘的監控數據進行統計檢查,判斷是否知足報警條件。統計辦法咱們選擇了 平均值>=50%,重複3次,這表示,當cpu的使用了在1分鐘平均值超過閾值50%,而且連續3次知足統計辦法時,將發生報警。報警觸發規則爲伸縮規則add1,代表在發生報警時,將執行報警規則add1,爲伸縮組增長1臺機器。
建立自定義監控項報警任務的過程和建立系統監控相似,惟一的不一樣在於,系統監控報警任務的監控項是由雲監控爲用戶採集,而自定義監控報警任務的監控項則須要用戶本身上報至雲監控。
在建立自定義監控類型的報警任務時,首先須要存在已上報的自定義監控項,即時間序列。而後才能針對該時間序列設置報警規則。
在上圖建立自定義報警任務以前,已經向雲監控推送了一條自定義監控數據流(時間序列)。該時間序列所屬的應用分組爲54504,監控項名稱爲testMetric,維度信息爲 age=10。
在成功的建立完報警任務以後,咱們能夠在報警任務列表看到咱們剛剛建立的報警任務。
切換到自定義監控列表,查看剛剛建立的自定義報警任務。
點擊報警任務的名稱,將跳轉到詳情頁,在詳情頁您將看到報警任務對應監控項的歷史數據。
您能夠在報警任務的列表頁修改報警任務,也能夠進入報警任務的詳情頁修改報警規則。
修改報警任務分爲兩個部分,一個是修改報警任務的基本信息,另一個是修改報警規則的觸發規則。
修改基本信息包括修改任務名稱,監控項,統計週期,統計辦法,重複次數等,咱們不建議您修改報警任務的監控項,由於,修改監控項意味着監控不一樣的指標,此時,新建一條針對新指標的報警任務是更合適的方法。
AutoScaling 報警任務爲您提供了一種經過監控特定監控指標來動態調整伸縮組內實例數量的方法,讓您可以根據業務的變化實時的執行指定的伸縮規則,調整伸縮組內的實例數量。
本次的 AutoScaling 報警任務的升級,擴展了原有的監控指標,並在原有監控項的基礎上,支持用戶接入自定義的監控項,提供定製化的報警任務,大大加強了 AutoScaling 報警任務的可用性和實用性,知足用戶具體的,多樣化的需求。