當您需要監控某個雲產品中的全部API的速率配額時,可以建立全域配額警示。當該雲產品中的任意一個API的速率配額的使用率或可用率達到閾值時,警示連絡人會收到警示通知,提醒其及時申請提升配額。
應用情境
使用者A在管理雲資源時,為了提高自動化管理能力,整合OpenAPI進行服務管理。但由於OpenAPI數量龐大,訪問頻率很高,所以API流控發生的頻率較高,時常會影響業務穩定性。為瞭解決這一問題,營運團隊計劃監控各雲產品API的即時用量和配額,提前規劃以保證業務的穩定性。然而API數量龐大,每個API單獨配置監控很難實現,於是客戶通過全域API的監控能力來進行管理。
目前,我們提供了控制台和OpenAPI整合兩種方式來監控全域API的即時用量和配額。
計費說明
API速率配額的配額警示整合的是CloudMonitor的警示能力,建立的配額警示將消耗CloudMonitor的費用額度,不同警示方式的計費如下:
準備工作
您需要在CloudMonitor中建立警示連絡人和警示連絡人群組,用於接收警示訊息。具體操作,請參見建立警示連絡人或警示連絡人群組。
如果您使用RAM使用者操作配額警示,RAM使用者除了需要配額中心的系統管理權限(AliyunQuotasFullAccess)外,還需要在CloudMonitor中建立和刪除配額警示的許可權。
自訂權限原則內容如下。具體操作,請參見建立自訂權限原則、管理RAM使用者的許可權。
{ "Statement": [ { "Effect": "Allow", "Action": [ "cms:PutMetricRuleTargets", "cms:PutResourceMetricRules", "cms:DeleteMetricRules", "cms:DeleteMetricRuleTargets" ], "Resource": "*" } ], "Version": "1" }
通過控制台為API速率配額建立全域配額項警示
本文以為計算巢服務的全部API的速率配額建立警示為例進行介紹,其中警示條件為:當配額使用率的閾值大於等於80%時,通過簡訊和郵件給警示連絡人群組內的警示連絡人發送警告層級(Warn)的警示通知。
該操作可在配額中心控制台和CloudMonitor控制台進行,您可根據需求選擇。
配額中心控制台
-
在配額中心控制台的API速率配額頁面,選擇计算巢服务。
-
單擊右上方的全域警示,為計算巢服務的API速率配額建立警示規則。
關於警示規則中參數的設定方法,請參見建立配額警示。在警示規則建立頁面,填寫規則名稱(例如
quota-computenest-rulename-test);在警示條件地區,警示指標選擇使用率(%);在閾值及警示層級中,將警告(Warn)層級的閾值設定為 >= 80%,連續 1 個周期,通知方式為簡訊+郵件+警示回調。在通知方式地區,將通道沉默周期設定為5分鐘,生效時間設定為00:00至23:59(星期一至星期日全選),警示連絡人群組選擇雲帳號警示連絡人,然後單擊確認完成警示規則建立。 -
建立完成後,可查看API速率配額的全域配額項警示。
-
查看新建立的警示規則。
在左側導覽列單擊配額警示,選擇API速率配額頁簽,在警示規則列表中找到目標規則,可在操作列單擊查看、修改、刪除或監控詳情管理該警示規則。
-
查看每個有用量的API的監控詳情。
在警示規則的操作列單擊監控詳情,彈出配額監控對話方塊,可通過下拉框選擇目標API(如
GetServiceTemplateParameterConstraints/2021-05-21)、地區(如cn-hangzhou)、指標(如使用率(%))及時間範圍,下方顯示對應的使用率折線圖。
-
CloudMonitor控制台
-
在CloudMonitor控制台的雲產品監控頁面,選擇,進入计算巢服务的API速率配額監控頁簽。
-
單擊右上方的全域報警規則,在全域報警規則頁面,為計算巢服務的API速率配額建立警示規則。
關於警示規則中參數的設定方法,請參見建立配額警示。
單擊 + 建立警示規則,填寫規則名稱(如
quota-computenest-rulename-test),選擇警示指標為 使用率,並將警告(Warn)層級閾值設定為 >=80%。在通知方式地區,將 警示連絡人群組 選擇為 雲帳號警示聯絡 對應的連絡人群組,完成其他通知參數配置後,單擊 確定。
-
建立完成後,可查看API速率配額的全域配額項警示。
規則列表中顯示已建立的警示規則,警示條件為
UsagePercentage (Warn) 連續3個周期監控值>=80 就通知,目前狀態為無資料。
通過OpenAPI為API速率配額建立全域配額項警示
本文以為計算巢服務的全部API的速率配額建立警示為例進行介紹,其中警示條件為:當配額使用率的閾值大於等於80%時,通過簡訊和郵件給警示連絡人群組內的警示連絡人發送警告層級(Warn)的警示通知。
-
先確認目標雲產品(即計算巢服務)的API速率配額是否支援全域配額項警示。
調用配額中心的API ListProductQuotas查看返回參數
UsageMetric。當UsageMetric的傳回值不為空白時,表示計算巢服務支援API速率配額的全域配額項警示。-
請求參數:
ProductCode輸入computenest,QuotaCategory選擇FlowControl,其他參數均保持預設值。 -
返回參數:在
UsageMetric中顯示API速率配額在CloudMonitor中的監控資訊,您可以得到MetricNamespace為acs_quotas_flowcontrol,每個API速率配額的返回資訊如下:{ "QuotaDescription": "GetServiceTemplateParameterConstraints", "Consumable": false, "ProductCode": "computenest", "UsageMetric": { "MetricName": "Usage", "MetricDimensions": { "productCode": "computenest", "metricKey": "GetServiceTemplateParameterConstraints/2021-06-01", "regionId": "ap-southeast-1", "label": "none" }, "MetricNamespace": "acs_quotas_flowcontrol" }, "Dimensions": { "apiName": "GetServiceTemplateParameterConstraints", "apiVersion": "2021-06-01", "regionId": "ap-southeast-1" }, "GlobalQuota": false, "Period": { "PeriodValue": 1, "PeriodUnit": "second" }, "Adjustable": true, "QuotaActionCode": "f_4w8uhd", "QuotaName": "GetServiceTemplateParameterConstraints", "QuotaArn": "acs:quotas:ap-southeast-1:14133977********:quota/computenest/f_4w8uhd", "TotalQuota": 50, "QuotaCategory": "FlowControl" }說明metricKey用於為指定API速率配額建立配額警示(即單獨配額項警示)。
-
-
調用CloudMonitor的API DescribeMetricList查詢API速率配額的監控資料,根據配額用量的變化趨勢配置配額警示。
-
請求參數:
Namespace輸入acs_quotas_flowcontrol,MetricName輸入UsagePercentage,Dimensions輸入[{"productCode":"computenest"}],其他參數均保持預設值。說明配額中心的
MetricName包括:Quota(配額值)、Usage(配額用量)、UsagePercentage(配額使用率)和AvailablePercentage(配額剩餘可用率)。 -
返回參數:在
Datapoints中,您可以得到Value的取值,作為警示閾值的參考,返回資訊如下:{ "RequestId": "2A7DB5BF-825C-51BB-AD91-D728857792F9", "Period": "60", "Datapoints": "[{\"timestamp\":1727337180000,\"productCode\":\"computenest\",\"metricKey\":\"GetServiceTemplateParameterConstraints/2021-05-21\",\"regionId\":\"cn-hangzhou\",\"label\":\"none\",\"userId\":\"14133977********\",\"Value\":2.0}]", "Code": "200", "Success": true }
-
-
調用CloudMonitor的API PutResourceMetricRules為API速率配額建立配額警示規則(即全域配額項警示)。
-
請求參數:必填參數的設定方法及其樣本如下表所示。
參數
描述
樣本
MetricName
監控項名稱。取值:
-
Quota:配額值。
-
Usage:配額用量。
-
UsagePercentage:配額使用率。
-
AvailablePercentage:配額剩餘可用率。
說明全域配額項警示只能用
UsagePercentage和AvailablePercentage。UsagePercentage
Escalations.Warn.Threshold
Warn層級警示閾值。
80
EffectiveInterval
警示規則的生效時間。
00:00-23:59 +0800 dayofweek 1,2,3,4,5,6,7RuleId
警示規則ID。
quota-computenest-ruleid-test
Escalations.Warn.ComparisonOperator
Warn層級閾值比較符。取值:
-
GreaterThanOrEqualToThreshold:大於等於。
-
GreaterThanThreshold:大於。
-
LessThanOrEqualToThreshold:小於等於。
-
LessThanThreshold:小於。
-
NotEqualToThreshold:不等於。
-
GreaterThanYesterday:同比昨天時間上漲。
-
LessThanYesterday:同比昨天時間下降。
-
GreaterThanLastWeek:同比上周同一時間上漲。
-
LessThanLastWeek:同比上周同一時間下降。
-
GreaterThanLastPeriod:環比上周期上漲。
-
LessThanLastPeriod:環比上周期下降。
GreaterThanOrEqualToThreshold
Resources
資源資訊。
說明當您為某個API建立單獨的配額項警示時,Resources輸入樣本:
[{"productCode":"computenest","metricKey":"GetServiceTemplateParameterConstraints/2021-06-01"}]。[{"productCode":"computenest"}]
ContactGroups
警示連絡人群組。
CloudMonitor
Namespace
雲產品的資料命名空間。
acs_quotas_flowcontrol
RuleName
警示規則名稱。
quota-computenest-rulename-test
Escalations.Warn.Times
Warn層級警示重試次數。
3
Escalations.Warn.Statistics
Warn層級警示統計方法。
Value
-
-
返回資訊如下,說明建立警示規則成功。
{ "Message": "", "RequestId": "BE4CAC0F-A134-55BA-909B-FF62568FE884", "FailedListResult": { "Target": [] }, "Code": "200", "Success": true }
-
-
調用CloudMonitor的API DescribeMetricRuleList,通過
RuleName或RuleId查看警示規則的建立結果。
相關文檔
-
您可以為某個雲產品中的某個API速率建立配額警示(即單獨配額項警示)。具體操作,請參見建立配額警示。
-
當您收到某個配額項的警示時,可以申請提升其配額。具體操作,請參見建立配額提升申請。
-
建立配額警示後,您可以查看配額警示詳情。具體操作,請參見查詢配額警示列表及其詳情。
-
建立配額警示後,您可以查看配額警示歷史。具體操作,請參見查詢配額警示記錄。