当您需要监控某个云产品中的全部API的速率配额时,可以创建全局配额告警。当该云产品中的任意一个API的速率配额的使用率或可用率达到阈值时,告警联系人会收到告警通知,提醒其及时申请提升配额。
应用场景
用户A在管理云资源时,为了提高自动化管理能力,集成OpenAPI进行服务管理。但由于OpenAPI数量庞大,访问频率很高,所以API流控发生的频率较高,时常会影响业务稳定性。为了解决这一问题,运维团队计划监控各云产品API的实时用量和配额,提前规划以保证业务的稳定性。然而API数量庞大,每个API单独配置监控很难实现,于是客户通过全局API的监控能力来进行管理。
目前,我们提供了控制台和OpenAPI集成两种方式来监控全局API的实时用量和配额。
计费说明
API速率配额的配额告警集成的是云监控的告警能力,创建的配额告警将消耗云监控的费用额度,不同告警方式的计费如下:
准备工作
您需要在云监控中创建告警联系人和告警联系人组,用于接收告警消息。具体操作,请参见创建告警联系人或告警联系人组。
如果您使用RAM用户操作配额告警,RAM用户除了需要配额中心的管理权限(AliyunQuotasFullAccess)外,还需要在云监控中创建和删除配额告警的权限。
自定义权限策略内容如下。具体操作,请参见创建自定义权限策略、管理RAM用户的权限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "cms:PutMetricRuleTargets", "cms:PutResourceMetricRules", "cms:DeleteMetricRules", "cms:DeleteMetricRuleTargets" ], "Resource": "*" } ], "Version": "1" }
通过控制台为API速率配额创建全局配额项告警
本文以为计算巢服务的全部API的速率配额创建告警为例进行介绍,其中告警条件为:当配额使用率的阈值大于等于80%时,通过短信和邮件给告警联系人组内的告警联系人发送警告级别(Warn)的告警通知。
该操作可在配额中心控制台和云监控控制台进行,您可根据需求选择。
配额中心控制台
-
在配额中心控制台的API速率配额页面,选择计算巢服务。
-
单击右上角的全局告警,为计算巢服务的API速率配额创建告警规则。
关于告警规则中参数的设置方法,请参见创建配额告警。在告警规则创建页面,填写规则名称(例如
quota-computenest-rulename-test);在告警条件区域,告警指标选择使用率(%);在阈值及报警级别中,将警告(Warn)级别的阈值设置为 >= 80%,连续 1 个周期,通知方式为短信+邮件+告警回调。在通知方式区域,将通道沉默周期设置为5分钟,生效时间设置为00:00至23:59(星期一至星期日全选),告警联系人组选择云账号报警联系人,然后单击确认完成告警规则创建。 -
创建完成后,可查看API速率配额的全局配额项告警。
-
查看新创建的告警规则。
在左侧导航栏单击配额告警,选择API速率配额页签,在告警规则列表中找到目标规则,可在操作列单击查看、修改、删除或监控详情管理该告警规则。
-
查看每个有用量的API的监控详情。
在告警规则的操作列单击监控详情,弹出配额监控对话框,可通过下拉框选择目标API(如
GetServiceTemplateParameterConstraints/2021-05-21)、地域(如cn-hangzhou)、指标(如使用率(%))及时间范围,下方显示对应的使用率折线图。
-
云监控控制台
-
在云监控控制台的云产品监控页面,选择,进入计算巢服务的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速率配额在云监控中的监控信息,您可以得到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速率配额创建配额告警(即单独配额项告警)。
-
-
调用云监控的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 }
-
-
调用云监控的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 }
-
-
调用云监控的API DescribeMetricRuleList,通过
RuleName或RuleId查看告警规则的创建结果。
相关文档
-
您可以为某个云产品中的某个API速率创建配额告警(即单独配额项告警)。具体操作,请参见创建配额告警。
-
当您收到某个配额项的告警时,可以申请提升其配额。具体操作,请参见创建配额提升申请。
-
创建配额告警后,您可以查看配额告警详情。具体操作,请参见查询配额告警列表及其详情。
-
创建配额告警后,您可以查看配额告警历史。具体操作,请参见查询配额告警历史记录。