全部產品
Search
文件中心

CloudMonitor:為API速率配額建立全域配額項警示

更新時間:Jul 19, 2024

當您需要監控某個雲產品中的全部API的速率配額時,可以通過CloudMonitor建立全域配額警示。當該雲產品中的任意一個API的速率配額的使用率或可用率達到閾值時,警示連絡人會收到警示通知,提醒其及時申請提升配額。

應用情境

使用者A在管理雲資源時,為了提高自動化管理能力,整合OpenAPI進行服務管理。但由於OpenAPI數量龐大,訪問頻率很高,所以API流控發生的頻率較高,時常會影響業務穩定性。為瞭解決這一問題,營運團隊計劃監控各雲產品API的即時用量和配額,提前規劃以保證業務的穩定性。然而API數量龐大,每個API單獨配置監控很難實現,於是客戶通過全域API的監控能力來進行管理。

目前,我們提供了控制台和OpenAPI整合兩種方式來監控全域API的即時用量和配額。

背景資訊

建立配額警示後,當警示指標達到閾值時,警示連絡人群組中的警示連絡人會收到電話、簡訊、郵件和警示回調方式的警示通知。建立的配額警示將消耗CloudMonitor的費用額度,不同警示方式的計費如下:

  • 電話:無免費額度,您需要開通隨用隨付或購買資源套件。更多資訊,請參見隨用隨付資源套件

  • 簡訊:免費額度為1000條/月,如果超過免費額度,則請您開通隨用隨付或購買資源套件。更多資訊,請參見免費額度隨用隨付資源套件

  • 郵件和警示回調:均免費。

前提條件

API速率配額的配額警示整合CloudMonitor的警示能力,目前處於邀測階段,請您提交工單申請。

通過控制台為API速率配額建立全域配額項警示

本文以為Elastic Compute Service的全部API的速率配額建立警示為例進行介紹,其中警示條件為:當配額使用率的閾值大於等於80%時,通過簡訊和郵件給警示連絡人群組內的警示連絡人發送警告層級(Warn)的警示通知。

  1. 進入Elastic Compute ServiceAPI速率配額監控頁簽。

    image

  2. 單擊全域警示規則,在全域警示規則頁面,為Elastic Compute Service的API速率配額建立警示規則。

    image

    image

  3. 查看API速率配額的全域配額項警示的建立結果。

    • 通過CloudMonitor控制台查看

      image

    • 通過配額中心控制台查看

      1. 查看新建立的警示規則。

        image

      2. 查看每個有用量的API的監控詳情。

        image

通過OpenAPI為API速率配額建立全域配額項警示

本文以為Elastic Compute Service的全部API的速率配額建立警示為例進行介紹,其中警示條件為:當配額使用率的閾值大於等於80%時,通過簡訊和郵件給警示連絡人群組內的警示連絡人發送警告層級(Warn)的警示通知。

  1. 先確認目標雲產品(即Elastic Compute Service)的API速率配額是否支援全域配額項警示。

    調用配額中心的API ListProductQuotasGetProductQuota查看返回參數UsageMetric。當UsageMetric的傳回值不為空白時,表示Elastic Compute Service支援API速率配額的全域配額項警示。

    • 請求參數ProductCode輸入ecsQuotaCategory選擇FlowControl,其他參數均保持預設值。

    • 返回參數:在UsageMetric中顯示API速率配額在CloudMonitor中的監控資訊,您可以得到MetricNamespaceacs_quotas_flowcontrol,每個API速率配額的返回資訊如下:

      {
            "QuotaActionCode": "f_ow93wj",
            "QuotaName": "DescribeDisks",
            "QuotaArn": "acs:quotas:ap-northeast-1:120886317861****:quota/ecs/f_ow93wj",
            "TotalQuota": 1000,
            "ProductCode": "ecs",
            "UsageMetric": {
              "MetricName": "Usage",
              "MetricDimensions": {
                "productCode": "ecs",
                "metricKey": "DescribeDisks/2014-05-26",
                "regionId": "ap-northeast-1",
                "label": "none"
              },
              "MetricNamespace": "acs_quotas_flowcontrol"
            },
            "QuotaCategory": "FlowControl",
            "Dimensions": {
              "apiName": "DescribeDisks",
              "apiVersion": "2014-05-26",
              "regionId": "ap-northeast-1"
            },
            "Period": {
              "PeriodValue": 60,
              "PeriodUnit": "second"
            },
            "Adjustable": false
          }
      說明

      metricKey用於為指定API速率配額建立配額警示(即單獨配額項警示)。

  2. 調用CloudMonitor的API DescribeMetricList查詢API速率配額的監控資料,根據配額用量的變化趨勢配置配額警示。

    • 請求參數Namespace輸入acs_quotas_flowcontrolMetricName輸入UsagePercentageDimensions輸入[{"productCode":"ecs"}],其他參數均保持預設值。

      說明

      配額中心的MetricName包括:Quota(配額值)、Usage(配額用量)、UsagePercentage(配額使用率)和AvailablePercentage(配額剩餘可用率)。

    • 返回參數:在Datapoints中,您可以得到Value的取值,作為警示閾值的參考,返回資訊如下:

      {
      	"RequestId": "14885854-7869-5E95-91BD-35B33B7E619D",
      	"Period": "60",
      	"Datapoints": "[{\"timestamp\":1721068920000,\"productCode\":\"ecs\",\"metricKey\":\"DescribeInstances/2014-05-26\",\"regionId\":\"cn-huhehaote\",\"label\":\"none\",\"userId\":\"120886317861****\",\"Value\":0.002},{\"timestamp\":1721068920000,\"productCode\":\"ecs\",\"metricKey\":\"InvokeCommand/2014-05-26\",\"regionId\":\"cn-qingdao\",\"label\":\"none\",\"userId\":\"120886317861****\",\"Value\":0.125}]",
      	"Code": "200",
      	"Success": true
      }
  3. 調用CloudMonitor的API PutResourceMetricRules為API速率配額建立配額警示規則(即全域配額項警示)。

    • 請求參數:必填參數的設定方法及其樣本如下表所示。

      參數

      描述

      樣本

      MetricName

      監控項名稱。取值:

      • Quota:配額值。

      • Usage:配額用量。

      • UsagePercentage:配額使用率。

      • AvailablePercentage:配額剩餘可用率。

      說明

      全域配額項警示只能用UsagePercentageAvailablePercentage

      UsagePercentage

      Escalations.Warn.Threshold

      Warn層級警示閾值。

      80

      EffectiveInterval

      警示規則的生效時間。

      00:00-23:59 +0800 dayofweek 1,2,3,4,5,6,7

      RuleId

      警示規則ID。

      quota-ecs-ruleid-test

      Escalations.Warn.ComparisonOperator

      Warn層級閾值比較符。取值:

      • GreaterThanOrEqualToThreshold:大於等於。

      • GreaterThanThreshold:大於。

      • LessThanOrEqualToThreshold:小於等於。

      • LessThanThreshold:小於。

      • NotEqualToThreshold:不等於。

      • GreaterThanYesterday:同比昨天時間上漲。

      • LessThanYesterday:同比昨天時間下降。

      • GreaterThanLastWeek:同比上周同一時間上漲。

      • LessThanLastWeek:同比上周同一時間下降。

      • GreaterThanLastPeriod:環比上周期上漲。

      • LessThanLastPeriod:環比上周期下降。

      GreaterThanOrEqualToThreshold

      Resources

      資源資訊。

      說明

      當您為某個API建立單獨的配額項警示時,Resources輸入樣本:[{"productCode":"ecs","metricKey":"DescribeInstances/2014-05-26"}]

      [{"productCode":"ecs"}]

      ContactGroups

      警示連絡人群組。

      CloudMonitor

      Namespace

      雲產品的資料命名空間。

      acs_quotas_flowcontrol

      RuleName

      警示規則名稱。

      quota-ecs-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
      }
  4. 調用CloudMonitor的API DescribeMetricRuleList,通過RuleNameRuleId查看警示規則的建立結果。

相關文檔