为配额指标绘制图表并进行监控

本文档介绍了如何创建提醒政策和图表来监控 Google Cloud 分配给您的配额,并提供了几个示例。Google Cloud 设定了各种配额,您可以利用这些配额来跟踪和限制项目或组织使用的资源。有关配额的常规信息,包括有关分配配额和速率配额的信息,请参阅使用配额

准备工作

本文档假定您熟悉时间序列数据及其操纵。以下资源提供了更多信息:

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

配额管理

Cloud Monitoring 以两种方式管理配额:

  • 使用方配额:对于此类配额,受监控的资源为 consumer_quota。此资源的指标是 serviceruntime 指标的一部分。

    本页面上的大多数示例为使用方配额示例。

  • 特定于资源的配额:某些服务提供受监控的资源,这些资源具有针对配额的特定于资源的指标。这些指标类型分为三组,并遵循命名格式:

    • service/quota/quota-type/exceeded
    • service/quota/quota-type/limit
    • service/quota/quota-type/usage

    例如,Compute Engine 具有 compute.googleapis.com/VpcNetwork 资源。与此资源关联的配额相关指标是 compute 指标compute.googleapis.com/quota 子集。有三种指标类型与“每个 VPC 网络的实例数量”配额相关:

确定配额指标和限制名称

关于配额消耗的原始数据(特别是使用方配额)可包含许多不同配额的信息。如需提取特定配额的信息以用于图表或提醒政策,您需要确定该部分配额数据。

根据来源的不同,配额数据可能包含可用于隔离所需信息的标签。这些标签包括:

  • 配额指标:配额指标是一种配额类型的标识符,不是指标列表中所述的指标类型。例如,所有使用方配额数据都写为 serviceruntime.googleapis.com 指标类型,例如 quota/allocation/usage。此指标类型具有 quota_metric 标签,可用于过滤特定配额,例如分配使用情况数据。
  • 限制名称:限制名称标识特定类型配额的限制。一个配额可以关联多项限制。例如,读取调用的配额可能限制为每分钟 100 次,每天的上限为 1000,并且有两个限制名称:readsPerMinutereadsPerDay。对于此值,配额相关指标类型可能有一个 limit_name 字段。

所有 serviceruntime.googleapis.com/quota 指标类型都提供 quota_metric 标签,但只有部分标签包含 limit_name 标签。配额的特定于资源的指标类型包含 limit_name 标签。

并非所有 Google Cloud 服务都支持配额指标。如需确定服务是否支持配额指标并确定配额专用标签的值,您可以按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往配额和系统限制页面:

    前往配额和系统限制

    如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

  2. 点击 查看列,然后将以下列添加到配额显示中:

    • 指标:此列显示 quota_metric 标签的值。
    • 限制名称:此列显示 limit_name 标签的值。
    • 受监控的资源:填充后,配额使用列出的受监控资源。如果为空,则配额的受监控资源为 consumer_quota
  3. 找到相关配额。

    例如,Compute Engine API 子网配额将指标列为 compute.googleapis.com/subnetworks限制名称列为 SUBNETWORKS-per-project,并且未列出受监控资源。因此,此配额的受监控资源为 consumer_quota

示例:查看特定使用方配额指标的使用情况

目标是创建一个图表,其中按区域显示 Compute Engine 的总磁盘存储配额。此使用方配额示例检索 quota/allocation/usage 数据,然后过滤数据,以显示特定配额指标的分配使用情况:

  1. 在 Google Cloud 控制台中,选择 Cloud Monitoring,然后选择 Metrics Explorer。

  2. 选择配置标签页。

  3. 在工具栏中,选择 1 个月将时间范围设为 1 个月。

  4. 展开折线图菜单,然后选择堆叠条形图

  5. 将 Metrics Explorer 配置为显示分配配额用量:

    1. 点击选择指标,然后在 过滤栏中输入 allocation
    2. 为资源选择使用方配额
    3. 为指标类别选择配额
    4. 为指标选择分配配额使用量,然后点击应用

    选择使用方配额。

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

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

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    

    您可以通过展开资源类型菜单,然后选择直接过滤模式来查看此过滤条件值。

  6. 如需将图表限制为 Compute Engine 服务,请添加过滤条件 service = compute.googleapis.com

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

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

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    

    该图表现在显示为 Compute Engine 配额分配的配额用量的时间序列。图例会显示每个显示的时间序列的 quota_metric 标签值。此值用于标识特定配额。例如,compute.googleapis.com/disks_total_storage 标识 Compute Engine 的总磁盘存储配额的时间序列。

    图表仅针对已记录用量的配额显示配额用量。例如,如果项目没有任何 Compute Engine 资源,那么过滤 compute.googleapis.com 服务会生成没有数据的图表。

  7. 如需创建显示 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"
    
  8. 上图显示了区域 us-central1us-east1 以及多个可用区(包括可用区 us-central1-a)的时间序列。

    如需优化图表以仅显示区域数据,而不显示可用区数据,请添加基于 location 标签的过滤条件。在此示例中,两个区域均以 us- 为前缀,并以 1 结尾,因此使用正则表达式 location =~ ^us.*1$ 的过滤条件效果良好:

    按配额指标和区域过滤。

对于使用方配额,quota_metric 标签的值标识服务以及受监控的特定配额用量。创建监控特定配额指标的图表或提醒政策时,您需要使用这些信息。

Cloud Monitoring 中的提醒政策

借助提醒政策,您可以将 Monitoring 配置为在发生某些事件(例如达到配额上限的 85%)时向您发送通知。

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

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

您可以使用两种方法来创建提醒政策条件:

  • 使用 Monitoring 过滤器选择和操纵数据。例如,使用图形界面创建提醒政策条件时,您要创建过滤条件。使用配额指标中的示例使用过滤条件为图表选择数据。您还可以在对 Monitoring API 的请求中使用过滤条件。

  • 使用 MQL 选择和操纵数据。MQL 是一种基于文本的查询语言。借助 MQL 代码编辑器,您可以创建无法通过基于过滤条件的方法创建的查询。我们建议您使用 MQL 创建基于比率的提醒政策。如需了解详情,请参阅 MQL 提醒政策示例

本页面将讨论这两种方法。您还可以使用任意一种方法来创建图表。

过滤条件提醒政策示例

在本部分中,每一小节都包含一项提醒政策的 JSON 表示法,以及说明如何在 Google Cloud 控制台中配置政策的两个表格:

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

这些示例针对的是基于过滤条件的方法。

这些政策都没有计算比率。如需查看基于比率的示例,请参阅 MQL 提醒政策示例

quota/exceeded 错误提醒

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

使用 Google Cloud 控制台

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

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

新建条件对话框
字段

资源和指标 资源菜单中,选择使用者配额
指标类别菜单中,选择配额
指标菜单中,选择配额超出错误

metric.typeserviceruntime.googleapis.com/quota/exceeded
resource.typeconsumer_quota)。
过滤

添加过滤器,以便图表仅显示您要监控的服务的数据。例如,若要监控 Identity and Access Management 服务,请添加以下过滤器:service = iam.googleapis.com

当过滤器字段为空时,图表中包含所有可用的指标数据。

滚动窗口 选择 1 m
滚动窗口函数 选择 count true

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

对于此指标,count truecount 的滚动窗口函数是等效的。

跨时间序列
时序聚合

选择 sum

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

跨时序
时序分组依据

选择 quota_metric

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

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

配置触发器对话框
字段

条件类型 Threshold
提醒触发器 Any time series violates
阈值位置 Above threshold
阈值 0
重新测试窗口 1 m

使用 Cloud Monitoring API

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

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

此提醒政策采用 JSON 格式的表示法如下。


{
    "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 控制台或使用 Cloud Monitoring API 来创建此类政策。

使用 Google Cloud 控制台

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

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

新建条件对话框
字段

资源和指标 资源菜单中,选择使用者配额
指标类别菜单中,选择配额
指标菜单中,选择分配配额用量

metric.typeserviceruntime.googleapis.com/quota/allocation/usage
resource.typeconsumer_quota)。
过滤

添加过滤器,以便图表仅显示您要监控的服务的数据。例如,若要监控 Identity and Access Management 服务,请添加以下过滤器:service = iam.googleapis.com

当过滤器字段为空时,图表中包含所有可用的指标数据。

滚动窗口 选择 1440 m

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

滚动窗口函数 选择 next older

滚动窗口函数设置为 next older,以包括此 GAUGE 指标的最新测量值。

跨时间序列
时序聚合

选择 sum

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

跨时序
时序分组依据

选择 quota_metric

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

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

配置触发器对话框
字段

条件类型 Threshold
提醒触发器 Any time series violates
阈值位置 Above threshold
阈值 2.5
重新测试窗口 1440 m

使用 Cloud Monitoring API

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

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

此提醒政策采用 JSON 格式的表示法如下。


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "86400s",
          "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",
  }

MQL 提醒政策示例

MQL 是一种基于文本的查询语言,使用由竖线连接的一系列操作。与 Monitoring 过滤条件相比,MQL 可让您构建更强大和灵活的查询。我们建议您使用 MQL 来设置基于比率的提醒政策。例如,使用 MQL,您可以为速率配额用量设置比率,这需要计算衡量指标(限制)和增量指标(速率)的比率。

您可以使用 Google Cloud 控制台或 Monitoring API 创建基于 MQL 的提醒政策:

如需了解特定于 MQL 的信息,请参阅使用 Monitoring Query Language。如需详细了解基于 MQL 的提醒政策,请参阅使用 MQL 的提醒政策

用于监控速率配额与配额上限之比的提醒政策

以下 MQL 查询模式描述了一项提醒政策,用于在特定资源服务的每分钟速率用量超过特定限制的 80% 时发送通知:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
    | align delta_gauge(1m)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sum(value.net_usage)
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

如需使用此查询模式,请进行以下更改:

  • sample.googleapis.com 替换为您要监控的服务。
  • metric.limit_nameLimit 替换为要跟踪的限制。如需了解如何查找限制名称,请参阅确定配额指标和限制名称
  • delta_gaugesliding 函数中的 1m 替换为适当限制的时段。

请勿修改 every 1m 操作,该操作确定查询结果中数据点之间的距离。

您无法使用过滤条件创建此查询。

用于监控使用通配符的速率配额比率的提醒政策

MQL 支持使用通配符、正则表达式和布尔逻辑进行过滤。例如,您可以使用 MQL 创建可跟踪多个限制的提醒政策,并在超出任一阈值时发出警告。

以下 MQL 查询模式描述了一项提醒政策,用于在任何资源服务的每分钟费率或每日速率用量超过 80% 时发送通知:

fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(1m)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerMinute.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(1m), max(val()) }
    | ratio
  ; { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(23h)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerDay.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(23h), max(val()) }
    | ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')

在上一个查询中,delta_gauge 校准器的参数设置为 23 小时,而不是 1 天。MQL 只需要 23 小时 30 分钟的数据,出于计算目的,delta_gauge 校准器会向校准周期添加一小时。如果使用 delta_gauge(1d),则无法保存条件,因为条件需要 25 小时的数据。此行为与 next_older 校准器不同,该校准器不会填充校准周期。

如需使用此查询模式,请进行以下更改:

  • resource.service 的正则表达式替换为您要跟踪的服务的正则表达式。
  • 在第一个比率中:
    • metric.limit_name.*PerMinute.* 替换为您要跟踪的第一组限制的正则表达式。如需了解如何查找限制名称,请参阅确定配额指标和限制名称
    • delta_gaugesliding 函数中的 1m 替换为与您的限制相符的时段。
  • 在第二个比率中:
    • metric.limit_name.*PerDay.* 替换为您要跟踪的第二组限制的正则表达式。
    • delta_gaugesliding 函数中的 23h 替换为与您的限制相符的时段。

请勿修改 every 1m 操作,该操作确定查询结果中数据点之间的距离。

您无法使用过滤条件创建此查询。

某一限制的分配配额使用率的比例提醒

以下 MQL 查询模式描述了一项提醒,用于监控特定资源服务的每日分配使用量是否超过特定限制的 80%:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

如需使用此查询模式,请进行以下更改:

  • sample.googleapis.com 替换为您要监控的服务。
  • metric.limit_nameLimit 替换为要跟踪的限制。如需了解如何查找限制名称,请参阅确定配额指标和限制名称

请勿修改 every 1m 操作,该操作确定查询结果中数据点之间的距离。

示例:任何区域的 CPU 使用率为 75%

以下查询会创建一项提醒政策,当任何区域 Compute Engine 虚拟机实例的 CPU 使用率超过限制的 75% 时触发:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-region'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.75 '1')

此使用方配额政策使用 Compute Engine API“CPU”配额中的 CPUS-per-project-region 限制名称。如需了解如何查找限制名称,请参阅确定配额指标和限制名称

用于监控任何服务的分配配额比例的提醒政策

MQL 支持使用通配符、正则表达式和布尔逻辑进行过滤。例如,您可以使用 MQL 创建可跟踪多个限制或服务的提醒,并在超出任一阈值时发出警告。

以下 MQL 查询描述了一项提醒,用于监控任何资源服务的每日分配用量是否超过任何配额限制的 80%:

fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

您可以按原样使用查询,也可以将 resource.service 的正则表达式替换为您要跟踪的服务的正则表达式。您还可以针对特定服务进行过滤,并在限制过滤条件中使用通配符。

请勿修改 every 1m 操作,该操作确定查询结果中数据点之间的距离。

示例:特定可用区中的 CPU 使用率超过 50%

以下查询会创建一项提醒政策,当任何 us-central1 可用区中 Compute Engine 虚拟机实例的 CPU 使用率超过限制的 50% 时触发。以下查询按限制名称和资源位置过滤 limit 数据:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-zone' &&
              resource.location =~ 'us-central1-.*'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.50 '1')

此使用方配额政策使用 Compute Engine API“CPU”配额中的 CPUS-per-project-zone 限制名称。如需了解如何查找限制名称,请参阅确定配额指标和限制名称

使用特定于资源的配额的比率提醒

您可以使用 MQL 为特定于资源的配额相关指标设置比率。在这种情况下,您需要指定特定于服务的受监控资源,并计算一对特定于资源的配额相关指标的比率。

以下查询模式描述了一项提醒,用于监控配额用量是否超过限制的 80%:

fetch sample.googleapis.com/SampleResource
  | { metric sample.googleapis.com/quota/samplemetric/usage
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        max(val())
  ; metric sample.googleapis.com/quota/samplemetric/limit
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

如需使用此查询模式,请进行以下更改:

  • sample.googleapis.com 替换为您要监控的服务。
  • sampleResource 替换为关联的受监控资源。
  • samplemetric 替换为一组指标类型的字符串。
  • group_by 操作中,列出每个资源和指标标签。

示例:任何区域的 CPU 使用率为 75%

例如,以下 MQL 查询设置一项提醒,用于监控任何网络 ID 的 Compute Engine instances_per_vpc_network 配额的用量是否超过 80%:

fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        max(val())
  ; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.80 '1')

请注意,此查询使用 compute.googleapis.com/VpcNetwork 资源类型(而不是 consumer_quota),并使用两个 compute.googleapis.com/quota/instances_per_vpc_network 指标(usagelimit)的比率。

图表示例

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

如果您只想配置用于显示配额数据的图表,可以使用新建条件表中的设置。提醒条件使用的表示法与图表工具不同。 图表工具包括 Metrics Explorer 以及在自定义信息中心中配置图表:
新建条件对话框
字段名称
图表
滚动窗口函数

根据所选的指标和汇总设置进行最佳配置。

如需指定对齐函数,请执行以下操作:

  1. 汇总元素中,展开第一个菜单,然后选择配置对齐器。添加了对齐函数分组元素。
  2. 展开对齐函数元素,然后进行选择。

滚动窗口 最小时间间隔
(如需访问,请点击 添加查询元素
时序分组依据
(在跨时间序列部分中)
汇总元素的第二个菜单
时序聚合
(在跨时间序列部分中)
汇总元素的第一个菜单

quota/rate/net_usage 的时间序列

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

新建条件对话框
字段

资源和指标 资源菜单中,选择使用者配额
指标类别菜单中,选择配额
指标菜单中,选择速率配额用量

metric.typeserviceruntime.googleapis.com/quota/rate/net_usage
resource.typeconsumer_quota)。
过滤

添加过滤器,以便图表仅显示您要监控的服务的数据。例如,若要监控 Identity and Access Management 服务,请添加以下过滤器:service = iam.googleapis.com

当过滤器字段为空时,图表中包含所有可用的指标数据。

滚动窗口 选择 1 m

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

滚动窗口函数 选择 rate

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

跨时间序列
时序聚合

选择 sum

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

跨时序
时序分组依据

选择 quota_metric

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

quota/instances_per_vpc_network/limit 的时间序列

如需查看 compute.googleapis.com 指标 quota/instances_per_vpc_network/limit 的时间序列数据,请使用 Google Cloud 项目中所有网络的时间序列数据:

新建条件对话框
字段

资源和指标 资源类型菜单中,选择 VPC 网络
指标类别菜单中,选择配额
在“指标”菜单中,选择“每个 VPC 网络的实例配额限制”

metric.typecompute.googleapis.com/quota/instances_per_vpc_network/limit
resource.typecompute.googleapis.com/VpcNetwork)。
过滤 留空
滚动窗口 选择 1 m

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

滚动窗口函数 选择 mean
跨时间序列
时序聚合
保留为 none
跨时序
时序分组依据
留空

quota/instances_per_vpc_network/usage 的时间序列

如需查看 compute.googleapis.com 指标 quota/instances_per_vpc_network/usage 的时间序列数据,请使用 Google Cloud 项目中某个网络的时间序列数据:

新建条件对话框
字段

资源和指标 资源类型菜单中,选择 VPC 网络
指标类别菜单中,选择配额
指标菜单中,选择 每 VPC 网络的实例配额用量

metric.typecompute.googleapis.com/quota/instances_per_vpc_network/usage
resource.typecompute.googleapis.com/VpcNetwork)。
指标 指标菜单中,选择 compute.googleapis.com/quota/instances_per_vpc_network/usage
过滤

添加过滤条件,以使图表仅显示所有数据的子集。例如,如需查看特定网络的使用情况,请添加以下过滤条件:network_id = identifier

当过滤器字段为空时,图表中包含所有可用的指标数据。

滚动窗口 选择 1 m

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

滚动窗口函数 选择 mean
跨时间序列
时序聚合
保留为 none
跨时序
时序分组依据
留空

MQL 图表

您可以通过 MQL 代码编辑器,使用 MQL 查询来创建图表。例如,MQL 提醒政策示例中显示的任何查询都可以在代码编辑器中输入。您可以省略每个查询中的最后一个操作 condition;但为提醒政策创建条件时除外。在图表中,condition 操作不执行任何操作。

如需了解详情,请参阅使用 MQL 的代码编辑器MQL 示例