使用配额指标

本页面介绍如何创建提醒政策和图表以监控或查看配额使用情况。有关配额的常规信息,包括有关分配配额和速率配额的信息,请参阅使用配额

对于此页面上的所有提醒政策和图表,受监控的资源为 consumer_quota。此资源的指标是 serviceruntime 指标的一部分。

  • 如需了解采样平均值、增量和累计等术语的定义,请参阅指标种类
  • 如需详细了解用于组合时间序列的字段,请参阅 AlignerReducer

了解使用方配额

如需查看特定配额的使用量,您需要按 quota_metric 标签的特定值过滤时间序列。本部分中的示例介绍了如何通过查看时间序列数据来确定此标签的正确值。如需确定特定 API 配额的标签值,您可以按照以下步骤操作:

  1. 在 Google Cloud Console 中,转到 Identity and Access Management 配额页面:

    转到“配额”

  2. 找到相关配额,然后点击所有配额

  3. 如果服务支持配额指标,则会显示配额指标字段,其中会显示此 API 的 quota_metric 标签的值。以下屏幕截图显示了 Compute Engine API 子网配额的 quota_metric 标签值为 compute.googleapis.com/subnetworks

    配额指标详情页面示例。

    如果服务不支持配额指标,则不会显示配额指标字段。

示例

目标是创建一个图表,其中按地区显示 Compute Engine 的总磁盘存储配额。

  1. 在 Google Cloud Console 中,选择 Cloud Monitoring,然后选择 Metrics Explorer。

  2. 通过将资源类型设置为使用方配额,并将指标类型设置为分配配额用量,将 Metrics Explorer 配置为显示分配配额用量:

    选择使用方配额。

    该图表将分配配额用量显示为六周的条形图。通过查看图例,您可以看到该图表显示多项服务的配额用量。

    如果您使用 Cloud Monitoring API,则等效过滤条件值如下:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    
  3. 如需将显示限制为 Compute Engine 服务,请添加过滤条件 service = "compute.googleapis.com"

    按计算服务过滤使用方配额。

    该图表现在显示为 Compute Engine 配额分配的配额用量的时间序列。图例会显示每个显示的时间序列的 quota_metric 标签值。此值用于标识特定配额。例如,compute.googleapis.com/disks_total_storage 表示时间序列用于 Compute Engine 的总磁盘存储配额。图表仅显示已记录用量的配额的配额用量。例如,如果项目没有 Compute Engine 资源,则此过滤条件将生成不包含数据的图表。

    如果您使用 Cloud Monitoring API,则等效过滤条件值如下:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    
  4. 要创建显示 Compute Engine 总磁盘存储空间用量的图表,请添加过滤条件 quota_metric = "compute.googleapis.com/disks_total_storage"

    按配额指标过滤使用方配额。

    如果您使用 Cloud Monitoring API,则等效过滤条件值如下:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  5. 上图显示了地区 us-centra1us-east1 以及多个区域(包括区域 us-central1-a)的时间序列。要仅按地区显示配额用量,请添加基于 location 标签的过滤条件。在此示例中,两个地区均以 us- 为前缀,并以 1 结尾,因此使用正则表达式 location =~"^us.*1$" 的过滤条件工作得很好:

    按配额指标和地区过滤。

借助使用方配额,quota_metric 标签的值标识服务以及受监控的特定配额用量。您可以使用该信息来创建监控特定配额指标的图表或提醒政策。

提醒政策示例

一项提醒政策由一系列条件和通知信息组成:

  • 条件描述了受监控的内容、该资源的时间序列数据如何组合以及何时应生成提醒。一项提醒政策必须指定至少一个条件。
  • 通知渠道指定提醒发生时的通知对象以及通知方式。例如,您可以配置提醒政策,以便向特定的某人或一群人发送电子邮件。

在本节的剩余内容中,每个小节均包含提醒政策的 JSON 表示法。如果政策可以使用 Google Cloud Console 来创建,则还会包括两个表:

  • 第一个表说明了受监控的内容以及数据的组合方式。
  • 第二个表格说明了何时生成提醒。

这些表中的值可用于配置提醒政策条件。

配额用量与配额上限比率提醒

您可以创建一项提醒政策,以便在 Google Cloud 项目中任何服务的配额用量与配额上限比率超过 80% 时收到通知。您只能使用 Cloud Monitoring API 来创建此类政策。

使用 Cloud Monitoring API

您可以使用 API 方法 alertPolicies.create 来创建此提醒政策。 您可以使用 gcloud 命令行工具或客户端库直接调用 Cloud Monitoring API。如需了解详情,请参阅创建政策

如需了解如何在 JSON 或 YAML 中表示提醒政策,请参阅政策示例

此政策示例用于监控 Identity and Access Management API 配额用量与配额限制的比率。由于组合配额上限可能没有意义,因此本示例指定了一个位置。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "denominatorFilter": "metric.type=\"serviceruntime.googleapis.com/quota/limit\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "denominatorAggregations" : [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "thresholdValue": 0.8,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Ratio quota usage for iam.googleapis.com by label.quota_metric [SUM]",
      }
    ],
    "displayName": "Ratio quota usage to limit",
    "enabled": true,
  }

quota/exceeded 错误提醒

您可以创建一项提醒政策,以便在 Google Cloud 项目中的任何服务报告超出配额错误时收到通知。您可以使用 Google Cloud Console 或使用 Cloud Monitoring API 来创建此类政策。

使用 Google Cloud Console

本小节中的其余内容针对的是提醒政策的条件对话框。

使用下表中的设置完成目标对话框。这些设置表明您希望监控 Google Cloud 项目中所有服务的 serviceruntime 指标 /quota/exceeded 的时间序列数据,并且您希望按配额上限对数据进行分组。

目标窗格
字段

资源类型 输入 consumer_quota
指标 选择 serviceruntime.googleapis.com/quota/exceeded
过滤

留空。

如果将此字段留空,则所有可用的指标数据都会包含在图表中。要限制显示的数据,您可以添加过滤条件。例如,要将数据限制为日志记录服务,请添加过滤条件 service = logging.googleapis.com

分组依据

选择 quota_metric

此选项按 quota_metric 的名称类型对数据进行分组。

聚合器

选择 sum

当数据分组时,聚合字段会自动设置为 sum。此设置定义各个时间序列中数据的组合方式。

周期 选择 1 m
高级聚合 校准器count true

此指标的类型为 GAUGE,表示时间序列中的每个数据点均为瞬时测量。值类型为 BOOL。值 true 表示已超出配额。

对于此指标,校准器设置为 count truecount 是等效的。

使用以下设置完成配置对话框。这些设置使提醒政策在配额超出错误的数量在 1 分钟内超过 0 时创建提醒。此处选择的值为 0,这是因为配额超出错误是意料之外的,表明需要增加配额或需要修改服务以减少 API 请求。您也可以使用一个更高的阈值。

配置窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 0
For 1 m

使用 Cloud Monitoring API

您可以使用 API 方法 alertPolicies.create 来创建此提醒政策。 您可以使用 gcloud 命令行工具或客户端库直接调用 Cloud Monitoring API。如需了解详情,请参阅创建政策

如需了解如何在 JSON 或 YAML 中表示提醒政策,请参阅政策示例

此政策示例用于监控 Identity and Access Management API 配额用量与配额限制的比率。由于组合配额上限可能没有意义,因此本示例指定了一个位置。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

quota/allocation/usage 绝对值提醒

您可以创建一项提醒政策,以便在 Google Cloud 项目中特定服务的分配配额超出用户指定的阈值时收到通知。您可以使用 Google Cloud Console 或使用 Cloud Monitoring API 来创建此类政策。

使用 Google Cloud Console

本小节中的其余内容针对的是提醒政策的条件对话框。

使用下表中的设置完成目标对话框。这些设置表明您希望监控 Google Cloud 项目中一项服务的 serviceruntime 指标 /quota/allocation/usage 的时间序列数据,并且您希望按配额上限对数据进行分组。

目标窗格
字段

资源类型 输入 consumer_quota
指标 选择 serviceruntime.googleapis.com/quota/allocation/usage
过滤 添加过滤器 service = iam.googleapis.com

iam.googleapis.com 替换为您要监控的服务的名称。本示例选择了这一常用服务。

分组依据

选择 quota_metric

此选项按 quota_metric 的名称类型对数据进行分组。

聚合器

选择 sum

当数据分组时,聚合字段会自动设置为 sum。此设置定义各个时间序列中数据的组合方式。

周期 选择 1440 m

时间段匹配的是此指标的采样间隔。

高级聚合 校准器next older

校准器设置为 next older,以包括此 GAUGE 指标的测量值。

使用以下设置完成配置对话框。这些设置会使提醒政策在时间序列的值在 1440 秒内超过 2.5 时创建提醒。1440 秒这一值匹配校准时间段。 此示例中选择的值为 2.5,这是因为它略高于测试系统的正常值。您应该根据监控的服务以及对该指标预期值范围的了解来选择阈值。

配置窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 2.5
For 1440 秒

使用 Cloud Monitoring API

您可以使用 API 方法 alertPolicies.create 来创建此提醒政策。 您可以使用 gcloud 命令行工具或客户端库直接调用 Cloud Monitoring API。如需了解详情,请参阅创建政策

如需了解如何在 JSON 或 YAML 中表示提醒政策,请参阅政策示例

此政策示例用于监控 Identity and Access Management API 配额用量与配额限制的比率。由于组合配额上限可能没有意义,因此本示例指定了一个位置。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "84600s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

图表示例

图表显示时间序列数据。 您可以使用 Metrics Explorer 来创建图表。 利用 Metrics Explorer,您可以在不再需要图表时舍弃它,也可以将其保存到信息中心。在信息中心视图中,您可以将图表添加到信息中心。

要创建图表,请指定要查看的数据以及查看数据的方式。本节的其余部分包含可用于创建图表的设置。您还可以使用提醒政策的目标对话框中的设置来创建图表。

quota/allocation/usage 在时间间隔内的最大用量

要查看 Google Cloud 项目中所有服务的 serviceruntime 指标 quota/allocation/usage 的时间序列数据,其中数据按配额指标的名称进行分组并显示该指标在 25 小时时间间隔内的最大值,请使用以下设置:

目标窗格
字段

资源类型 输入 consumer_quota
指标 选择 serviceruntime.googleapis.com/quota/allocation/usage
过滤 添加过滤器 service = iam.googleapis.com

iam.googleapis.com 替换为您要监控的服务的名称。本示例选择了这一常用服务。

分组依据

选择 quota_metric

此选项按 quota_metric 的名称类型对数据进行分组。

聚合器

选择 sum

当数据分组时,聚合字段会自动设置为 sum。此设置定义各个时间序列中数据的组合方式。

周期 选择 1500 m

时间段为 25 小时,略长于此指标的采样间隔。

高级聚合 校准器max
二级聚合器sum

校准器设置为显示在校准时间段内测量的指标的最大值。 二次聚合器会将不同服务的时间序列组合到一个时间序列中。

quota/rate/net_usage 的时间序列

要查看 Google Cloud 项目中所有服务的 serviceruntime 指标 quota/rate/net_usage 的时间序列数据,其中数据按配额指标的名称进行分组并显示使用速率,请使用以下设置:

目标窗格
字段

资源类型 输入 consumer_quota
指标 选择 serviceruntime.googleapis.com/quota/rate/net_usage
过滤 添加过滤器 service = iam.googleapis.com

iam.googleapis.com 替换为您要监控的服务的名称。本示例选择了这一常用服务。

分组依据

选择 quota_metric

此选项按 quota_metric 的名称类型对数据进行分组。

聚合器

选择 sum

当数据分组时,聚合字段会自动设置为 sum。此设置定义各个时间序列中数据的组合方式。

周期 选择 1 m

该指标的 1 分钟的时间段与该指标的采样间隔匹配。

高级聚合 校准器rate

通过将校准器的值设为 rate,存储在此 DELTA 指标的时间序列中的值被转换为新的时间序列,其中存储着速率数据。图表的 y 轴单位为每秒配额单位。

quota/limit 的时间序列

要查看 Google Cloud 项目中所有服务的 serviceruntime 指标 quota/limit 的时间序列数据,其中聚合了 25 小时内的数据,请使用以下设置:

目标窗格
字段

资源类型 输入 consumer_quota
指标 选择 serviceruntime.googleapis.com/quota/limit
过滤 添加过滤器 service = iam.googleapis.com

iam.googleapis.com 替换为您要监控的服务的名称。本示例选择了这一常用服务。

分组依据 留空。
聚合器 none
周期 选择 1500 m

时间段匹配的是此指标的采样间隔。

高级聚合 校准器next older

校准器设置为 next older,以显示此 GAUGE 指标的测量值。校准时间段为 25 小时,略长于此指标的采样间隔。