Usa métricas de cuota

En esta página, se describe cómo crear gráficos y políticas de alertas para supervisar la cuota que Google Cloud te asignó. Google Cloud establece una cantidad de cuotas que puedes usar para realizar un seguimiento y limitar los recursos que consume un proyecto o una organización. Para obtener información general sobre las cuotas, incluida la información sobre las cuotas de asignación y las cuotas, consulta Trabaja con cuotas.

Antes de comenzar

En esta página, se asume que conoces los datos de series temporales y su manipulación. En las siguientes páginas, se proporciona información adicional:

  • Para obtener información sobre cómo trabajar con datos de series temporales, consulta Filtrado y agregación.
  • Para ver las definiciones de los términos indicador, delta y acumulativo, consulta Tipos de métricas.
  • Si deseas obtener detalles sobre las funciones que se usan para combinar series temporales, consulta Aligner y Reducer.

Trabaja con métricas de cuota

Cloud Monitoring administra la cuota de dos maneras:

  1. Cuota del consumidor. Para este tipo de cuota, el recurso supervisado es consumer_quota. Las métricas de este recurso son un subconjunto de las métricas de serviceruntime.

    La mayoría de los ejemplos en esta página son ejemplos de cuotas de consumidores.

  2. Cuotas específicas del recurso. Algunos servicios proporcionan recursos supervisados que tienen métricas específicas del recurso para las cuotas. Estos tipos de métricas aparecen en grupos de tres, según este patrón:

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

    Por ejemplo, Compute Engine tiene el recurso compute.googleapis.com/VpcNetwork. Las métricas relacionadas con la cuota asociadas con este recurso son el subconjunto compute.googleapis.com/quota de las métricas compute. Existen tres tipos de métricas relacionados con la cuota de “instancias por red de VPC”:

Identifica las métricas de cuotas y los nombres de los límites

Los datos sin procesar sobre el consumo de la cuota, en especial para la cuota del consumidor, pueden incluir información sobre muchas cuotas diferentes. A fin de extraer información sobre una cuota específica para un gráfico o una política de alertas, debes identificar ese subconjunto de datos de cuota.

Según la fuente, los datos de las cuotas pueden incluir etiquetas que puedes usar para aislar la información que deseas. Estas etiquetas incluyen lo siguiente:

  • Métrica de cuota: La métrica de cuota es un identificador para un tipo de cuota; no es uno de los tipos de métrica descritos en la Lista de métricas. Por ejemplo, todos los datos de cuotas de consumidores se escriben como tipos de métricas serviceruntime.googleapis.com, como quota/allocation/usage. Este tipo de métrica tiene una etiqueta quota_metric que se puede usar con el fin de filtrar una cuota específica, por ejemplo, datos de uso de asignación.
  • Nombre del límite: identifica un límite en un tipo específico de cuota. Una cuota puede tener más de un límite asociado. Por ejemplo, una cuota para llamadas de lectura puede tener un límite de 100 por minuto y un límite de 1,000 por día, con dos nombres de límite, readsPerMinute y readsPerDay. Los tipos de métricas relacionados con la cuota pueden tener un campo limit_name para este valor.

Todos los tipos de métricas serviceruntime.googleapis.com/quota proporcionan la etiqueta quota_metric, pero solo algunos incluyen la etiqueta limit_name. Los tipos de métricas específicos del recurso para la cuota incluyen la etiqueta limit_name.

Para identificar métricas de cuota y nombres de límites específicos, puedes usar el siguiente procedimiento:

  1. En Google Cloud Console, ve a la página Cuotas de administrador:

    Ir a Cuotas

  2. Ubica la cuota de interés y, luego, haz clic en Todas las cuotas.

  3. Si un servicio admite métricas de cuotas, se muestran los campos Métrica de cuota y Nombre del límite. Por ejemplo, en la siguiente captura de pantalla para la cuota de subredes de la API de Compute Engine, se muestra que la métrica de cuota es compute.googleapis.com/subnetworks y el nombre del límite es SUBNETWORKS-per-project:

    Ejemplo de una página de detalles de métricas de cuota.

Si la información detallada no enumera una métrica de cuota o un nombre de límite, el servicio no admite métricas de cuotas.

Si la información detallada no incluye un recurso supervisado, entonces el recurso supervisado es consumer_quota. De lo contrario, esta cuota se muestra en la página de detalles y es una cuota específica de recursos para el recurso supervisado con nombre. En la captura de pantalla anterior, no se muestra de forma explícita un recurso supervisado, por lo que esa cuota usa el recurso supervisado consumer_quota.

Ejemplo: visualiza el uso de una métrica de cuota de consumidor específica

El objetivo es crear un gráfico que muestre la cuota de almacenamiento total del disco de Compute Engine por región. Este ejemplo de cuota de consumidor recupera datos de quota/allocation/usage y, luego, los filtra de modo que se muestre el uso de la asignación para una métrica de cuota específica:

  1. En Google Cloud Console, selecciona Cloud Monitoring y, luego, el Explorador de métricas.

  2. Selecciona la pestaña Configuración.

  3. Para configurar el Explorador de métricas a fin de mostrar el uso de la cuota de asignación, establece el tipo de recurso en Consumer Quota y establece el tipo de métrica en Allocation quota usage:

    Seleccionar cuota del consumidor.

    El gráfico muestra el uso de cuota de asignación como un gráfico de barras para el período de seis semanas. Cuando observas la leyenda, puedes ver que el gráfico muestra el uso de cuota para varios servicios.

    Si usas la API de Cloud Monitoring, el valor del filtro equivalente es el siguiente:

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

    Para ver este valor de filtro, expande el menú Tipo de recurso y selecciona Modo de filtro directo.

  4. Para limitar el gráfico al servicio de Compute Engine, agrega el filtro service = "compute.googleapis.com":

    Filtra la cuota del consumidor por servicio de procesamiento.

    Si usas la API de Cloud Monitoring, el valor del filtro equivalente es el siguiente:

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

    Ahora, la tabla temporal muestra las series temporales para el uso de cuota asignado a las cuotas de Compute Engine. La leyenda muestra el valor de la etiqueta quota_metric para cada serie temporal que se muestra. Este valor identifica la cuota específica. Por ejemplo, compute.googleapis.com/disks_total_storage identifica la serie temporal de la cuota de almacenamiento total del disco de Compute Engine.

    El gráfico muestra el uso de cuota solo para las cuotas que se registraron. Por ejemplo, si el proyecto no tiene ningún recurso de Compute Engine, el filtrado del servicio compute.googleapis.com da como resultado un gráfico sin datos.

  5. Para crear un gráfico en el que se muestre el uso total de la cuota de almacenamiento en el disco de Compute Engine, usa el filtro quota_metric = "compute.googleapis.com/disks_total_storage":

    Filtra la cuota del consumidor por métrica de cuota.

    Si usas la API de Cloud Monitoring, el valor del filtro equivalente es el siguiente:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  6. En el gráfico anterior, se muestran series temporales para las regiones us-centra1 y us-east1, y para varias zonas, incluida la zona us-central1-a.

    Para definir mejor el gráfico a fin de que muestre solo datos de las regiones, sin las zonas, agrega un filtro basado en la etiqueta location. Para este ejemplo, en el que ambas regiones tienen el prefijo us- y terminan con 1, un filtro que usa la expresión regular location =~"^us.*1$" funciona bien:

    Filtra por métrica de cuota y región.

Para la cuota de consumidor, el valor de la etiqueta quota_metric identifica el servicio y el uso específico de la cuota que se supervisa. Puedes usar esa información para crear gráficos o políticas de alertas que supervisan una métrica de cuota específica.

Políticas de alertas en Cloud Monitoring

Las políticas de alertas son una forma de configurar Cloud Monitoring para que te notifique cuando sucede algo, como alcanzar el 85% del límite en una cuota.

Una política de alertas es una recopilación de información de condiciones y notificaciones:

  • Una condición describe lo que se supervisa, cómo se deben combinar los datos de las series temporales para ese recurso y cuándo se debe generar una alerta. Una política de alertas debe especificar al menos una condición.
  • El canal de notificaciones especifica quién recibirá la notificación y cómo se le notificará cuando se produzca una alerta. Por ejemplo, puedes configurar la política de alertas para enviar correos electrónicos a una persona específica o a un grupo de personas.

Existen dos técnicas que puedes usar para crear condiciones de la política de alertas:

  • Usar filtros de Monitoring para seleccionar y manipular datos Por ejemplo, cuando usas la interfaz gráfica para crear condiciones de política de alertas, creas filtros. En el ejemplo que se muestra en Trabaja con métricas de cuotas, se usan filtros para seleccionar datos en un gráfico. También puedes usar filtros en las solicitudes a la API de Monitoring.

  • Usa el lenguaje de consulta de Monitoring (MQL) para seleccionar y manipular datos. MQL es un lenguaje de consulta basado en texto. Con el editor de consultas de MQL, puedes crear consultas que no puedes crear con la técnica basada en filtros. Te recomendamos usar MQL para crear políticas de alertas basadas en la proporción. Para obtener más información, consulta Ejemplos de la política de alertas de MQL.

En esta página, se analizan ambas técnicas. También puedes crear gráficos con cualquiera de las técnicas.

Filtrar ejemplos de políticas de alertas

En esta sección, cada subsección incluye una representación JSON de una política de alertas, junto con un par de tablas que describen cómo configurar la política en Google Cloud Console:

  • En la primera tabla, se describe qué se supervisa y cómo se deben combinar los datos.
  • En la segunda tabla, se describe cuándo se debe generar una alerta.

Estos ejemplos son para el enfoque basado en filtros.

Ninguna de estas políticas calcula las proporciones. Para ver ejemplos basados en la proporción, consulta Ejemplos de la política de alertas de MQL.

Alertas de errores quota/exceeded

Puedes crear una política de alertas que te notifique si algún servicio del proyecto de Google Cloud informa un error de cuota excedida. Puedes crear este tipo de política con Google Cloud Console o mediante la API de Cloud Monitoring.

Usa Google Cloud Console

El resto del contenido de esta subsección corresponde al diálogo de condiciones de una política de alertas.

Completa el diálogo Destino con la configuración de la siguiente tabla. En esta configuración se especifica que deseas supervisar los datos de serie temporal de la métrica de serviceruntime /quota/exceeded para todos los servicios de tu proyecto de Google Cloud y que deseas agrupar los datos por el límite de cuota.

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa consumer_quota
Métrica Selecciona serviceruntime.googleapis.com/quota/exceeded
Filtro

Agrega un filtro para que el gráfico solo muestre datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro de horario: service = iam.googleapis.com.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por

Selecciona quota_metric.

Esta opción agrupa los datos mediante el tipo de nombre de quota_metric.

Agregador

Selecciona sum.

El campo de agregación se establece automáticamente en sum cuando se agrupan los datos. Esta configuración define cómo se combinan los datos en las series temporales individuales.

de Compromiso Selecciona 1 m
Agregación avanzada Alineador: count true

Esta métrica es de tipo GAUGE, lo que significa que cada dato de la serie temporal es una medición instantánea. El tipo de valor es BOOL. Un valor de true indica que se superó la cuota.

Para esta métrica, la configuración del alineador de count true y count es equivalente.

Completa el diálogo Configuration con la siguiente configuración. Esta configuración hace que la política de alertas cree una alerta si la cantidad de errores superados en la cuota excede el valor de 0 durante 1 m. Aquí se selecciona un valor de 0 porque los errores superados en la cuota son inesperados y por un indicador de que se debe aumentar una cuota o que se deben modificar un servicio para reducir las solicitudes a la API. Se recomienda usar un umbral más alto.

Campo del panel
Configuración

Valor
Condition triggers if Any time series violates
Condition is above
Threshold 0
For 1 millón

Usa la API de Cloud Monitoring

Puedes crear esta política de alertas con el método de la API alertPolicies.create. Puedes invocar la API de Cloud Monitoring directamente, con la herramienta de línea de comandos de gcloud o con las bibliotecas cliente. Para obtener más información, consulta Crea políticas.

Para obtener más información sobre cómo representar políticas de alertas en JSON o YAML, consulta Políticas de ejemplo.

A continuación, se muestra una representación de esta política de alertas en formato 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",
  }

Alertas sobre el quota/allocation/usage absoluto

Puedes crear una política de alertas a fin de que te notifique si el uso de la cuota de asignación para un servicio específico en tu proyecto de Google Cloud supera un umbral especificado por el usuario. Puedes crear este tipo de política con Google Cloud Console o mediante la API de Cloud Monitoring.

Usa Google Cloud Console

El resto del contenido de esta subsección corresponde al diálogo de condiciones de una política de alertas.

Completa el diálogo Destino con la configuración de la siguiente tabla. En esta configuración se especifica que deseas supervisar los datos de serie temporal de la métrica de serviceruntime /quota/allocation/usage para un servicio de tu proyecto de Google Cloud y que deseas agrupar los datos por el límite de cuota.

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa consumer_quota
Métrica Selecciona serviceruntime.googleapis.com/quota/allocation/usage
Filtro

Agrega un filtro para que el gráfico solo muestre datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro de horario: service = iam.googleapis.com.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por

Selecciona quota_metric.

Esta opción agrupa los datos mediante el tipo de nombre de quota_metric.

Agregador

Selecciona sum.

El campo de agregación se establece automáticamente en sum cuando se agrupan los datos. Esta configuración define cómo se combinan los datos en las series temporales individuales.

de Compromiso Selecciona 1440 m

El período coincide con el intervalo de muestreo para esta métrica.

Agregación avanzada Alineador: next older

El alineador se establece en next older para incluir el valor medido de esta métrica de GAUGE.

Completa el diálogo Configuration mediante la siguiente configuración. Esta configuración hace que la política de alertas cree una alerta si el valor de la serie temporal supera los 2.5 durante 1,440 m. El valor de 1,440 m coincide con el período de alineación. Se seleccionó el valor de 2.5 para este ejemplo, ya que es un poco más alto que el valor normal del sistema de prueba. Debes seleccionar el umbral en función del servicio que supervisas en combinación con el rango de valores esperado para la métrica.

Campo del panel
Configuración

Valor
Condition triggers if Any time series violates
Condition is above
Threshold 2.5
For 1,440 millones

Usa la API de Cloud Monitoring

Puedes crear esta política de alertas con el método de la API alertPolicies.create. Puedes invocar la API de Cloud Monitoring directamente, con la herramienta de línea de comandos de gcloud o con las bibliotecas cliente. Para obtener más información, consulta Crea políticas.

Para obtener más información sobre cómo representar políticas de alertas en JSON o YAML, consulta Políticas de ejemplo.

A continuación, se muestra una representación de esta política de alertas en formato 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",
  }

Ejemplos de la política de alertas de MQL

MQL es un lenguaje de consulta basado en texto que usa una serie de operaciones vinculadas por canalizaciones. MQL te permite compilar consultas más potentes y flexibles que con los filtros de Monitoring. Te recomendamos usar MQL para configurar políticas de alertas basadas en la proporción. Por ejemplo, con MQL, puedes configurar una proporción para el uso de la cuota de tarifa, que requiere calcular la proporción de una métrica de indicador (el límite) y una métrica delta (la tasa).

Puedes crear políticas de alertas basadas en MQL mediante Cloud Console o la API de Monitoring:

Para obtener información específica sobre MQL, consulta Usa el lenguaje de consulta de Monitoring. Para obtener más información sobre las políticas de alertas basadas en MQL, consulta Políticas de alertas con MQL.

Alerta de proporción para el uso de la cuota de tarifa para un límite

En el siguiente patrón de consulta de MQL, se describe una alerta que supervisa cuando el uso por tasa de minutos de un servicio de recursos específico supera el 80% de un límite específico:

    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 == 'myApiLimitPerDay'
        | group_by [resource.project_id, metric.quota_metric, resource.location],
            sliding(1m), max(val()) }
    | ratio
    | every 1m
    | condition gt(val(), 0.8 '1')

Para usar este patrón de consulta, realiza los siguientes cambios:

  • Reemplaza sample.googleapis.com por el servicio que deseas supervisar.
  • Reemplaza myApiLimitPerDay por el metric.limit_name por el límite del que deseas realizar un seguimiento. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identifica las métricas de cuotas y los nombres de los límites.
  • Reemplaza 1m en las funciones delta_gauge y sliding por una ventana adecuada para tu límite.

No modifiques la operación every 1m, que determina la frecuencia con la que se verifica la condición.

No puedes crear esta consulta con filtros.

Alerta de proporción en el uso de la cuota de frecuencia con comodines

MQL admite el filtrado con comodines, expresiones regulares y lógica booleana. Por ejemplo, puedes usar MQL para crear una alerta que realice un seguimiento de varios límites y te advierte si alguna supera un límite.

En el siguiente patrón de consulta de MQL, se describe una alerta que supervisa cuándo el uso de tarifas por minuto o por día de cualquier servicio de recursos supera el 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(1d)
          | 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(1d), max(val()) }
        | ratio }
    | union
    | every 1m
    | condition gt(val(), 0.8 '1')

Para usar este patrón de consulta, realiza los siguientes cambios:

  • Reemplaza la expresión regular resource.service por una expresión regular para los servicios de los que deseas hacer un seguimiento.
  • En la primera proporción, sucede lo siguiente:
    • Reemplaza .*PerMinute.* para metric.limit_name con una expresión regular del primer grupo de límites del que deseas realizar un seguimiento. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identifica las métricas de cuotas y los nombres de los límites.
    • Reemplaza 1m en las funciones delta_gauge y sliding por una ventana adecuada para tus límites.
  • En la segunda proporción, ocurre lo siguiente:
    • Reemplaza .*PerDay.* para metric.limit_name con una expresión regular del segundo grupo de límites del que deseas realizar un seguimiento.
    • Reemplaza 1d en las funciones delta_gauge y sliding por una ventana adecuada para tus límites.

No modifiques la operación every 1m, que determina la frecuencia con la que se verifica la condición.

No puedes crear esta consulta con filtros.

Alerta de proporción sobre el uso de la cuota de asignación para un límite

En el siguiente patrón de consulta de MQL, se describe una alerta que supervisa cuándo el uso de asignación diario de un servicio de recursos específico supera el 80% de un límite específico:

    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 == 'CPUs-per-project'
        | 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')

Para usar este patrón de consulta, realiza los siguientes cambios:

  • Reemplaza sample.googleapis.com por el servicio que deseas supervisar.
  • Reemplaza CPUs-per-project por el metric.limit_name por el límite del que deseas realizar un seguimiento. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identifica las métricas de cuotas y los nombres de los límites.

No modifiques la operación every 1m, que determina la frecuencia con la que se verifica la condición.

Ejemplo: uso de CPU del 75% en cualquier región

La siguiente consulta crea una política de alertas que se activa cuando el uso de CPU de la instancia de VM de Compute Engine supera el 75% del límite en cualquier región:

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')

Esta política de cuota personal usa el nombre límite CPUS-per-project-region en la cuota de "CPU" de la API de Compute Engine. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identifica métricas de cuotas y nombres de límites.

Alerta de proporción en el uso de la cuota de asignación para cualquier servicio

MQL admite el filtrado con comodines, expresiones regulares y lógica booleana. Por ejemplo, puedes usar MQL para crear una alerta que realice seguimientos de varios límites o servicios y te advierte si alguna supera un límite.

En la siguiente consulta de MQL, se describe una alerta que supervisa cuándo el uso de la asignación diaria de cualquier servicio de recursos supera el 80% para cualquiera de los límites de cuota:

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')

Puedes usar esta consulta como se presenta o reemplazar la expresión regular del resource.service por una expresión regular para los servicios de los que deseas hacer un seguimiento. También puedes filtrar un servicio específico y usar comodines en un filtro de límite.

No modifiques la operación every 1m, que determina la frecuencia con la que se verifica la condición.

Ejemplo: Uso de CPU superior al 50% en zonas específicas

La siguiente consulta crea una política de alertas que se activa cuando el uso de CPU de las instancias de VM de Compute Engine supera el 50% del límite en cualquiera de las zonas us-central1. Esta consulta filtra los datos limit por un nombre de límite y la ubicación del recurso:

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')

Esta política de cuota personal usa el nombre límite CPUS-per-project-zone en la cuota de "CPU" de la API de Compute Engine. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identifica métricas de cuotas y nombres de límites.

Alerta de proporción con una cuota específica del recurso

Puedes usar MQL a fin de configurar proporciones para métricas relacionadas con cuotas de recursos específicos. En este caso, especificas un recurso supervisado específico del servicio y calculas una proporción en un par de métricas relacionadas con la cuota específica del recurso.

En el siguiente patrón de consulta, se describe una alerta que supervisa cuando el uso de una cuota supera el 80% del límite:

    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')

Para usar este patrón de consulta, realiza los siguientes cambios:

  • Reemplaza sample.googleapis.com por el servicio que deseas supervisar.
  • Reemplaza sampleResource por el recurso supervisado asociado.
  • Reemplaza samplemetric por la string para un grupo de tipos de métricas.
  • En las operaciones group_by, enumera cada una de las etiquetas de recursos y métricas.

Ejemplo: uso de CPU del 75% en cualquier región

Por ejemplo, la siguiente consulta de MQL configura una alerta que supervisa cuando el uso de la cuota instances_per_vpc_network de Compute Engine supera el 80% para cualquier ID de red:

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')

Ten en cuenta que esta consulta usa el tipo de recurso compute.googleapis.com/VpcNetwork, no consumer_quota, y toma la proporción de dos métricas compute.googleapis.com/quota/instances_per_vpc_network, usage y limit.

Ejemplos de gráficos

En los gráficos, se muestran datos de series temporales. Puedes usar el Explorador de métricas para crear un gráfico. Con el Explorador de métricas, puedes descartar el gráfico cuando ya no lo necesites o puedas guardarlo en un panel. En la vista del panel, puedes agregar un gráfico a este.

Para crear un gráfico, especifica qué deseas ver y cómo deseas ver esos datos. En el resto de esta sección, se incluye una configuración que se puede usar a fin de crear gráficos para cuotas de consumidores y específicas de recursos. También puedes usar la configuración del cuadro de diálogo Destino de una política de alertas para crear un gráfico.

Uso máximo en intervalos para quota/allocation/usage

Para ver los datos de series temporales para la métrica serviceruntime quota/allocation/usage, para todos los servicios de tu proyecto de Google Cloud, donde los datos se agrupan por el nombre de la métrica de cuota y el valor máximo de la métrica en un intervalo de 25 horas, usa la siguiente configuración:

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa consumer_quota
Métrica Selecciona serviceruntime.googleapis.com/quota/allocation/usage
Filtro

Agrega un filtro para que el gráfico solo muestre datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro de horario: service = iam.googleapis.com.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por

Selecciona quota_metric.

Esta opción agrupa los datos mediante el tipo de nombre de quota_metric.

Agregador

Selecciona sum.

El campo de agregación se establece automáticamente en sum cuando se agrupan los datos. Esta configuración define cómo se combinan los datos en las series temporales individuales.

de Compromiso Selecciona 1500 m

El período, 25 horas, es un poco más largo que el intervalo de muestreo para esta métrica.

Agregación avanzada Alineador: max
Agregador secundario:sum

El alineador está configurado para mostrar el valor máximo de la métrica que se midió durante el período de alineación. El agregador secundario combina las series temporales para los diferentes servicios en una sola serie temporal.

Series temporales de quota/rate/net_usage

Para ver los datos de las series temporales de la métrica de serviceruntime quota/rate/net_usage, para todos los servicios de tu proyecto de Google Cloud, en los cuales los datos se agrupan por el nombre de la métrica de cuota y se muestra la frecuencia de uso, usa la siguiente configuración:

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa consumer_quota
Métrica Selecciona serviceruntime.googleapis.com/quota/rate/net_usage
Filtro

Agrega un filtro para que el gráfico solo muestre datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro de horario: service = iam.googleapis.com.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por

Selecciona quota_metric.

Esta opción agrupa los datos mediante el tipo de nombre de quota_metric.

Agregador

Selecciona sum.

El campo de agregación se establece automáticamente en sum cuando se agrupan los datos. Esta configuración define cómo se combinan los datos en las series temporales individuales.

de Compromiso Selecciona 1 m

El período de 1 minuto coincide con el intervalo de muestreo de esta métrica.

Agregación avanzada Alineador: rate

Si configuras el alineador con el valor de rate, los valores almacenados en la serie temporal de esta métrica DELTA se convierten en una nueva serie temporal que almacena los datos de tarifas. El eje Y del gráfico tiene las unidades de cuota por segundo.

Series temporales de quota/limit

Para ver los datos de las series temporales de la métrica de serviceruntime quota/limit, para todos los servicios de tu proyecto de Google Cloud, en el que los datos se agregan durante 25 horas, usa la siguiente configuración:

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa consumer_quota
Métrica Selecciona serviceruntime.googleapis.com/quota/limit
Filtro

Agrega un filtro para que el gráfico solo muestre datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro de horario: service = iam.googleapis.com.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por Dejar en blanco.
Agregador none
Período Selecciona 1500 m
Agregación avanzada Alineador: next older

El alineador se establece en next older para mostrar el valor medido de esta métrica de GAUGE. El período de alineación, 25 horas, es apenas mayor que el intervalo de muestreo de esta métrica.

Series temporales de quota/instances_per_vpc_network/limit

Para ver los datos de las series temporales de la métrica compute.googleapis.com de quota/instances_per_vpc_network/limit, para todas las redes de tu proyecto de Google Cloud, usa la siguiente configuración:

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa compute.googleapis.com/VpcNetwork
Métrica Selecciona compute.googleapis.com/quota/instances_per_vpc_network/limit
Filtro Dejar en blanco
Agrupar por Dejar en blanco
Agregador Dejar como none
Período Selecciona 1 m

El período coincide con el intervalo de muestreo para esta métrica.

Agregación avanzada Ignorar

Series temporales de quota/instances_per_vpc_network/usage

Para ver los datos de las series temporales de la métrica compute.googleapis.com de quota/instances_per_vpc_network/usage, para una de las redes de tu proyecto de Google Cloud, usa la siguiente configuración:

Panel Objetivo
Campo

Valor
Tipo de recurso Ingresa compute.googleapis.com/VpcNetwork
Métrica Selecciona compute.googleapis.com/quota/instances_per_vpc_network/usage
Filtro

Agrega un filtro para que el gráfico solo muestre un subconjunto de todos los datos. Por ejemplo, para ver el uso de una red específica, agrega el siguiente filtro: network_id = identifier.

Cuando el campo del filtro está vacío, todos los datos de métricas disponibles se incluyen en el gráfico.

Agrupar por Dejar en blanco
Agregador Dejar como none
Período Selecciona 1 m
Agregación avanzada Ignorar

Gráficos de MQL

Puedes usar las consultas de MQL para crear gráficos mediante el editor de consultas de MQL. Por ejemplo, cualquiera de las consultas que se muestran en los ejemplos de política de alertas de MQL se puede ingresar en el editor de consultas. Puedes omitir la última operación, condition, en cada consulta. Se aplica, excepto cuando se crea una condición para una política de alertas En un gráfico, la operación condition no realiza ninguna acción.

Para obtener más información, consulta Usa el editor de consultas y Ejemplos de MQL.