You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API列出GCP项目所有Quota以配置告警?

GCP组织级全Quota告警配置方案

一、解决全Quota列表获取问题

gcloud compute project-info describe仅能列出计算服务相关Quota,要获取项目所有服务的Quota,需使用跨服务的Quota查询命令:

  • 单个项目全Quota查询:
    gcloud services quota list --project=YOUR_PROJECT_ID --format=json
    
    该命令会返回控制台可见的全部Quota项(包括11942个),输出格式可按需调整为csv或yaml。
  • 批量遍历组织下所有项目:
    先导出组织内所有项目ID:
    gcloud projects list --filter="parent.type=organization" --format="value(projectId)" > project_ids.txt
    
    再通过循环遍历每个项目执行Quota查询:
    for proj in $(cat project_ids.txt); do
      gcloud services quota list --project=$proj --format=json > "${proj}_quotas.json"
    done
    

二、批量配置Quota告警(含未来新增服务兼容)

直接为每个Quota创建单独告警策略会产生百万级条目,管理成本极高,推荐采用动态告警策略覆盖所有现有及未来新增的Quota:

1. 创建全局Quota告警策略

通过Cloud Monitoring创建一条匹配所有Quota使用量的告警策略,无需逐个配置:

gcloud monitoring policies create \
  --display-name="All Quota Usage Alert" \
  --description="Alert when any Quota usage exceeds 80% of limit" \
  --condition="metric.type=\"googleapis.com/quota/usage\" resource.type=\"global\" filter.resource.project_id=\"*\" aggregator=\"ALIGN_RATE\" threshold.value=0.8 comparison=\"COMPARISON_GT\"" \
  --notification-channels="projects/YOUR_ORG_PROJECT/notificationChannels/CHANNEL_ID" \
  --combiner="OR"
  • 核心逻辑:通过filter.resource.project_id="*"匹配组织内所有项目,metric.type="googleapis.com/quota/usage"匹配所有Quota使用量指标,阈值设为使用率80%(可按需调整)。
  • 替换YOUR_ORG_PROJECT为组织内用于管理监控的项目ID,CHANNEL_ID为已创建的通知渠道(邮件/短信等)ID。

2. 精细化单个Quota告警(可选)

如果必须为每个Quota单独配置,可编写脚本批量处理:
以Python为例,核心步骤:

  1. 遍历所有项目ID
  2. 对每个项目,解析gcloud services quota list的输出,提取Quota的metric名称、配额值
  3. 调用Cloud Monitoring API为每个Quota创建告警策略

注意:此方式会产生大量告警策略,仅适用于有精细化需求的场景。

三、权限要求

执行上述操作的账号需具备以下IAM角色:

  • roles/serviceusage.viewer:查看Quota信息
  • roles/monitoring.admin:创建告警策略
  • roles/browser:遍历组织内项目

内容的提问来源于stack exchange,提问作者learning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:10:19