当您需要监控某个云产品中的全部API的速率配额时,可以创建全局配额告警。当该云产品中的任意一个API的速率配额的使用率或可用率达到阈值时,告警联系人会收到告警通知,提醒其及时申请提升配额。
应用场景
用户A在管理云资源时,为了提高自动化管理能力,集成OpenAPI进行服务管理。但由于OpenAPI数量庞大,访问频率很高,所以API流控发生的频率较高,时常会影响业务稳定性。为了解决这一问题,运维团队计划监控各云产品API的实时用量和配额,提前规划以保证业务的稳定性。然而API数量庞大,每个API单独配置监控很难实现,于是客户通过全局API的监控能力来进行管理。
目前,我们提供了控制台和OpenAPI集成两种方式来监控全局API的实时用量和配额。
计费说明
API速率配额的配额告警集成的是云监控的告警能力,创建的配额告警将消耗云监控的费用额度,不同告警方式的计费如下:
准备工作
您需要在云监控中创建告警联系人和告警联系人组,用于接收告警消息。具体操作,请参见创建告警联系人或告警联系人组。
如果您使用RAM用户操作API速率配额告警,RAM用户除了需要配额中心的管理权限(AliyunQuotasFullAccess)外,还需要在云监控中创建和删除配额告警的权限。
自定义权限策略内容如下。具体操作,请参见创建自定义权限策略、为RAM用户授权。
{ "Statement": [ { "Effect": "Allow", "Action": [ "cms:PutMetricRuleTargets", "cms:PutResourceMetricRules", "cms:DeleteMetricRules", "cms:DeleteMetricRuleTargets" ], "Resource": "*" } ], "Version": "1" }
通过控制台为API速率配额创建全局配额项告警
本文以为计算巢服务的全部API的速率配额创建告警为例进行介绍,其中告警条件为:当配额使用率的阈值大于等于80%时,通过短信和邮件给告警联系人组内的告警联系人发送警告级别(Warn)的告警通知。
该操作可在配额中心控制台和云监控控制台进行,您可根据需求选择。
配额中心控制台
在配额中心控制台的API速率配额页面,选择计算巢服务。
单击右上角的全局告警,为计算巢服务的API速率配额创建告警规则。
关于告警规则中参数的设置方法,请参见API速率配额告警规则参数。
创建完成后,可查看API速率配额的全局配额项告警。
查看新创建的告警规则。
查看每个有用量的API的监控详情。
云监控控制台
在云监控控制台的云产品监控页面,进入计算巢服务的API速率配额监控页签。
单击右上角的全局报警规则,在全局报警规则页面,为计算巢服务的API速率配额创建告警规则。
关于告警规则中参数的设置方法,请参见API速率配额告警规则参数。
创建完成后,可查看API速率配额的全局配额项告警。
通过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,7
RuleId
告警规则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速率创建配额告警(即单独配额项告警)。具体操作,请参见创建API速率配额告警。
当您收到某个配额项的告警时,可以申请提升其配额。具体操作,请参见创建配额提升申请。
创建配额告警后,您可以查看配额告警详情。具体操作,请参见查询配额告警列表及其详情。
创建配额告警后,您可以查看配额告警历史。具体操作,请参见查询配额告警历史记录。