全部产品
Search
文档中心

云监控:为API速率配额创建全局配额项告警

更新时间:Jul 18, 2024

当您需要监控某个云产品中的全部API的速率配额时,可以通过云监控创建全局配额告警。当该云产品中的任意一个API的速率配额的使用率或可用率达到阈值时,告警联系人会收到告警通知,提醒其及时申请提升配额。

应用场景

用户A在管理云资源时,为了提高自动化管理能力,集成OpenAPI进行服务管理。但由于OpenAPI数量庞大,访问频率很高,所以API流控发生的频率较高,时常会影响业务稳定性。为了解决这一问题,运维团队计划监控各云产品API的实时用量和配额,提前规划以保证业务的稳定性。然而API数量庞大,每个API单独配置监控很难实现,于是客户通过全局API的监控能力来进行管理。

目前,我们提供了控制台和OpenAPI集成两种方式来监控全局API的实时用量和配额。

背景信息

创建配额告警后,当告警指标达到阈值时,告警联系人组中的告警联系人会收到电话、短信、邮件和告警回调方式的告警通知。创建的配额告警将消耗云监控的费用额度,不同告警方式的计费如下:

  • 电话:无免费额度,您需要开通按量计费或购买资源包。更多信息,请参见按量计费资源包

  • 短信:免费额度为1000条/月,如果超过免费额度,则请您开通按量计费或购买资源包。更多信息,请参见免费额度按量计费资源包

  • 邮件和告警回调:均免费。

前提条件

API速率配额的配额告警集成云监控的告警能力,目前处于邀测阶段,请您提交工单申请。

通过控制台为API速率配额创建全局配额项告警

本文以为云服务器ECS的全部API的速率配额创建告警为例进行介绍,其中告警条件为:当配额使用率的阈值大于等于80%时,通过短信和邮件给告警联系人组内的告警联系人发送警告级别(Warn)的告警通知。

  1. 进入云服务器ECSAPI速率配额监控页签。

    image

  2. 单击全局报警规则,在全局报警规则页面,为云服务器ECS的API速率配额创建告警规则。

    image

    image

  3. 查看API速率配额的全局配额项告警的创建结果。

    • 通过云监控控制台查看

      image

    • 通过配额中心控制台查看

      1. 查看新创建的告警规则。

        image

      2. 查看每个有用量的API的监控详情。

        image

通过OpenAPI为API速率配额创建全局配额项告警

本文以为云服务器ECS的全部API的速率配额创建告警为例进行介绍,其中告警条件为:当配额使用率的阈值大于等于80%时,通过短信和邮件给告警联系人组内的告警联系人发送警告级别(Warn)的告警通知。

  1. 先确认目标云产品(即云服务器ECS)的API速率配额是否支持全局配额项告警。

    调用配额中心的API ListProductQuotasGetProductQuota查看返回参数UsageMetric。当UsageMetric的返回值不为空时,表示云服务器ECS支持API速率配额的全局配额项告警。

    • 请求参数ProductCode输入ecsQuotaCategory选择FlowControl,其他参数均保持默认值。

    • 返回参数:在UsageMetric中显示API速率配额在云监控中的监控信息,您可以得到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. 调用云监控的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. 调用云监控的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. 调用云监控的API DescribeMetricRuleList,通过RuleNameRuleId查看告警规则的创建结果。

相关文档