Gráfico y supervisión de las métricas de cuota

En este documento, se describe cómo crear políticas de alertas y gráficos para supervisar la cuota que te asignó Google Cloud, y se incluyen varios ejemplos.Google Cloud establece varias cuotas que puedes usar para hacer un seguimiento de los recursos que consume un proyecto o una organización, y limitarlos. 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 este documento, se supone que estás familiarizado con los datos de series temporales y su manipulación. En los siguientes recursos, se proporciona información adicional:

  • Para obtener información sobre cómo trabajar con datos de series temporales, consulta Filtrado y agregación.
  • Para obtener definiciones sobre 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.

Administración de la cuota

Cloud Monitoring administra la cuota de dos maneras:

  • Cuota de 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 de esta página son ejemplos de cuotas del consumidor.

  • 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 y siguen un formato de nomenclatura:

    • 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 de compute.googleapis.com/quota de las métricas de compute. Existen tres tipos de métricas relacionadas con la cuota de "instancias por red de VPC":

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

Los datos sobre el consumo de cuota sin procesar, en especial para la cuota de 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 a siguiente información:

  • 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étricas descritos en la Lista de métricas. Por ejemplo, todos los datos de cuotas del consumidor se escriben como el tipo de métrica serviceruntime.googleapis.com, como quota/allocation/usage. Este tipo de métrica tiene una etiqueta quota_metric que se puede usar para filtrar una cuota específica, por ejemplo, datos de uso de asignación.
  • Nombre del límite: El 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 las cuotas 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.

No todos los servicios Google Cloud admiten métricas de cuotas. Para determinar si un servicio admite métricas de cuota y para identificar los valores de las etiquetas específicas de la cuota, puedes usar el siguiente procedimiento:

  1. En la consola de Google Cloud , ve a la página Cuotas y límites del sistema:

    Ir a Cuotas y límites del sistema

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  2. Haz clic en Ver columna y agrega las siguientes columnas a la pantalla de cuotas:

    • Métrica: En esta columna, se muestra el valor de la etiqueta quota_metric.
    • Nombre del límite: En esta columna, se muestra el valor de la etiqueta limit_name.
    • Recurso supervisado: Cuando se completa, la cuota usa el recurso supervisado que se indica. Cuando está vacío, el recurso supervisado para la cuota es consumer_quota.
  3. Ubica la cuota de interés.

    Por ejemplo, la cuota de subredes de la API de Compute Engine muestra la métrica como compute.googleapis.com/subnetworks, el nombre del límite como SUBNETWORKS-per-project y no muestra un recurso supervisado. Por lo tanto, el recurso supervisado para esta cuota es consumer_quota.

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

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

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

  2. En la barra de herramientas, expande el menú de período y selecciona Últimos 14 días.

  3. Expande el menú Tipo de widget y selecciona Gráfico de barras apiladas.

  4. Configura el Explorador de métricas para mostrar el uso de la cuota de asignación:

    1. Haz clic en Seleccionar una métrica y, luego, ingresa allocation en la barra de filtros .
    2. Selecciona Consumer Quota para el recurso.
    3. Selecciona Cuota para la categoría de métrica.
    4. Selecciona Uso de cuota de asignación para la métrica y haz clic en Aplicar.
    5. Expande el menú Agregación y selecciona Sin agregar.

    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, luego, selecciona Modo de filtro directo.

  5. Para limitar la visualización 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.

    En el gráfico, se muestra el uso de cuota solamente de aquellas que tienen un uso registrado. 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.

  6. Para crear un gráfico que muestre el uso total de la cuota de almacenamiento en disco total 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"
    
  7. En el gráfico anterior, se muestran series temporales para las regiones us-central1 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 los datos de las regiones, sin las zonas, agrega un filtro basado en la etiqueta location. En 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 del consumidor, el valor de la etiqueta quota_metric identifica el servicio y el uso específico de la cuota que se supervisa. Cuando creas gráficos o políticas de alertas que supervisan una métrica de cuota específica, usas esa información.

Políticas de alertas en Cloud Monitoring

Las políticas de alertas son una forma de configurar Monitoring para que te notifique cuando ocurre algo, como alcanzar el 85% de tu 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 genera un incidente. 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 un incidente. Por ejemplo, puedes configurar la política de alertas para enviar un correo electrónico a una persona específica o a un grupo de personas.

Existen dos técnicas que puedes usar para crear condiciones de 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íticas de alertas, debes crear filtros. En el ejemplo que se muestra en Trabajo con métricas de cuota, se usan filtros para seleccionar los datos de un gráfico. También puedes usar filtros en solicitudes a la API de Monitoring.

  • Usar PromQL para seleccionar y manipular datos PromQL es un lenguaje de consulta basado en texto. Con el editor de código de PromQL, puedes crear consultas que no puedas crear con la técnica basada en filtros. Te recomendamos que uses PromQL para crear políticas de alertas basadas en proporciones. Para obtener más información, consulta los ejemplos de políticas de alertas de PromQL.

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

Filtra 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 la consola de Google Cloud :

  • 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 un incidente.

Estos ejemplos son para el enfoque basado en filtros.

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

Alertas de errores quota/exceeded

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

Usa la consola de Google Cloud

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

Completa el diálogo Condición nueva 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.

Diálogo Nueva condición
Campo

Valor
Recurso y métrica En el menú Recursos, selecciona Cuota del consumidor.
En el menú Categorías de métricas, selecciona Cuota.
En el menú Métricas, selecciona Error de cuota excedida.

(El metric.type es serviceruntime.googleapis.com/quota/exceeded,
y el resource.type es consumer_quota).
Filtro

Agrega un filtro para que el gráfico solo muestre los datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro: 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.

Ventana progresiva Selecciona 1 m
.
Función analítica progresiva Selecciona 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, las funciones de ventana progresiva de count true y count son equivalentes.

En las series temporales
Agregación de series temporales

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.

En las series temporales
Agrupación de las series temporales

Selecciona quota_metric.

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

Completa el diálogo Configurar activador 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.

Diálogo Configurar activador
Campo

Valor
Tipo de condición Threshold
Activador de alertas Any time series violates
Posición del umbral Above threshold
Valor del umbral 0
Período para volver a probar 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 Google Cloud CLI 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 para que te notifique si el uso de la cuota de asignación para un servicio específico en tu proyecto deGoogle Cloud supera un umbral especificado por el usuario. Puedes crear este tipo de política con la Google Cloud consola o con la API de Cloud Monitoring.

Usa la consola de Google Cloud

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

Completa el diálogo Condición nueva 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 Google Cloud y que deseas agrupar los datos por el límite de cuota.

Diálogo Nueva condición
Campo

Valor
Recurso y métrica En el menú Recursos, selecciona Cuota del consumidor.
En el menú Categorías de métricas, selecciona Cuota.
En el menú Métricas, selecciona Uso de cuota de asignación.

(El metric.type es serviceruntime.googleapis.com/quota/allocation/usage,
y el resource.type es consumer_quota).
Filtro

Agrega un filtro para que el gráfico solo muestre los datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro: 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.

Ventana progresiva Selecciona 1440 m

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

Función analítica progresiva Selecciona next older
.

La función analítica progresiva se establece en next older para incluir el valor medido más reciente de esta métrica de GAUGE.

En las series temporales
Agregación de series temporales

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.

En las series temporales
Agrupación de las series temporales

Selecciona quota_metric.

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

Completa el diálogo Configurar activador con 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 la ventana móvil. 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.

Diálogo Configurar activador
Campo

Valor
Tipo de condición Threshold
Activador de alertas Any time series violates
Posición del umbral Above threshold
Valor del umbral 2.5
Período para volver a probar 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 Google Cloud CLI 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 políticas de alertas de PromQL

PromQL es un lenguaje de consulta basado en texto que te permite compilar consultas más potentes y flexibles que con los filtros de Monitoring. Te recomendamos que uses PromQL para configurar políticas de alertas basadas en la proporción. Por ejemplo, con PromQL, puedes configurar una proporción para el uso de cuota de tasa, 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 PromQL con la consola de Google Cloud o la API de Monitoring:

  • Consola deGoogle Cloud : Usa el editor de código de PromQL cuando crees la condición de alerta. Para abrir el editor de código de PromQL, en la barra de herramientas del diálogo Crear política de alertas, haz clic en PromQL. Para obtener más información sobre cómo usar este editor, consulta Usa el editor de código para PromQL.

  • API de Monitoring: Usa el método alertPolicies.create y proporciona una condición del tipo PrometheusQueryLanguageCondition. Este tipo de condición toma una consulta de PromQL como un valor de campo. Si deseas obtener más información para usar la API de Monitoring con PromQL, consulta Crea políticas de alertas basadas en PromQL.

Para obtener información específica sobre PromQL, consulta PromQL para Cloud Monitoring. Para obtener más información sobre las políticas de alertas basadas en PromQL, consulta Políticas de alertas basadas en PromQL.

Política de alertas que supervisa la proporción entre la cuota de frecuencia y el límite de cuota

El siguiente patrón de consulta de PromQL describe una política de alertas que envía una notificación cuando el uso de la tasa por minuto de un servicio de recursos específico supera el 80% de un límite específico:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service="sample.googleapis.com"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

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

  • Reemplaza sample.googleapis.com por el servicio que deseas supervisar.
  • Reemplaza Limit para limit_name por el límite que deseas seguir. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identificación de métricas de cuotas y nombres de límites.
  • Reemplaza 1m por una ventana adecuada para tu búsqueda.

No puedes crear esta consulta con filtros.

Política de alertas que supervisa la proporción de la cuota de frecuencia con comodines

PromQL admite el filtrado con comodines, expresiones regulares y lógica booleana. Por ejemplo, puedes usar PromQL para crear una política de alertas que realice un seguimiento de varios límites y te avise si alguno excede un umbral.

El siguiente patrón de consulta de PromQL describe una política de alertas que envía notificaciones cuando el uso de la tasa por minuto o por día de cualquier servicio de recursos supera el 80%:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerMinute.*"})
)
or
(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[23h]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerDay.*"})
) > 0.8

En la consulta anterior, el argumento para el alineador por día se establece en 23 horas en lugar de 1 día. PromQL solo puede requerir 23 horas y 30 minutos de datos, y para fines de procesamiento, el alineador agrega una hora al período de alineación. Si usas [1d], la condición no se puede guardar porque la condición requiere 25 horas de datos.

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

  • Reemplaza la expresión regular de service=~ por una expresión regular para los servicios a los que deseas hacer un seguimiento.
  • En la primera proporción:
    • Reemplaza .*PerMinute.* para limit_name=~ por una expresión regular del primer grupo de límites que deseas realizar un seguimiento. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identificación de métricas de cuotas y nombres de límites.
    • Reemplaza 1m por una ventana adecuada para tus límites.
  • En la segunda proporción, sucede lo siguiente:
    • Reemplaza .*PerDay.* para limit_name=~ por una expresión regular del segundo grupo de límites que deseas realizar un seguimiento.
    • Reemplaza 23h por una ventana adecuada para tus límites.

No puedes crear esta consulta con filtros.

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

El siguiente patrón de consulta de PromQL describe una alerta que supervisa cuando el uso de la asignación por día de un servicio de recursos específico supera el 80% de un límite específico:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="sample.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

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

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

Con la siguiente consulta, se 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:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-region"})
) > 0.75

Esta política de cuota del consumidor usa el nombre del 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 Identificación de las métricas de cuotas y los nombres de límites.

Política de alertas que supervisa la proporción de la cuota de asignación para cualquier servicio

PromQL admite el filtrado con comodines, expresiones regulares y lógica booleana. Por ejemplo, puedes usar PromQL para crear una alerta que realice un seguimiento de varios límites o servicios y te avise si alguno excede un límite.

En la siguiente consulta de PromQL, 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 la cuota:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota"})
) > 0.8

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

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

Con la siguiente consulta, se 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. En esta consulta, se filtran los datos limit por un nombre de límite y la ubicación del recurso:

(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-zone", location=~"us-central1-.*"})
)
> 0.5

Esta política de cuota del consumidor usa el nombre del 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 Identificación de las métricas de cuotas y los nombres de límites.

Alerta de proporción con cuota específica de recursos

Puedes usar PromQL para configurar proporciones para métricas relacionadas con la cuota específica de recursos. En este caso, debes especificar un recurso supervisado en particular del servicio y calcular una proporción en un par de métricas relacionadas con la cuota específicas del recurso.

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

(
 max by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/usage", monitored_resource="sample.googleapis.com/SampleResource"})
 /
 min by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/limit", monitored_resource="sample.googleapis.com/SampleResource"})
) > 0.8

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 del grupo de tipos de métricas.
  • En las operaciones by (...), muestra cada una de las etiquetas de recursos y métricas.

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

Por ejemplo, en la siguiente consulta de PromQL, se configura una alerta que supervisa cuándo el uso de la cuota instances_per_vpc_network de Compute Engine supera el 80% para cualquier ID de red:

(
 max by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/usage", monitored_resource="compute.googleapis.com/VpcNetwork"})
 /
 min by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/limit", monitored_resource="compute.googleapis.com/VpcNetwork"})
) > 0.8

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.

Si solo deseas configurar un gráfico que muestre datos de cuota, puedes usar la configuración de la tabla Condición nueva. Las condiciones de alerta usan una notación diferente a la de las herramientas de gráficos. Las herramientas de creación de gráficos incluyen el Explorador de métricas y la configuración de gráficos en paneles personalizados:
Nueva condición
Nombre del campo de diálogo
Gráficos
Función analítica progresiva

Se configura de forma óptima según la métrica seleccionada y la configuración de agregación.

Para especificar la función de alineación, haz lo siguiente:

  1. En el elemento Agregación, expande el primer menú y selecciona Configurar alineador. Se agregan los elementos Función de alineación y Agrupación.
  2. Expande el elemento Función de alineación y realiza una selección.

Ventana progresiva Intervalo mín.
(para acceder, haz clic en Agregar elemento de consulta)
Agrupación de las series temporales
(en la sección En las series temporales)
Segundo menú del elemento Agregación
Agregación de series temporales
(en la sección En las series temporales)
Primer menú del elemento Agregación

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 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:

Diálogo Nueva condición
Campo

Valor
Recurso y métrica En el menú Recursos, selecciona Cuota del consumidor.
En el menú Categorías de métricas, selecciona Cuota.
En el menú Métricas, selecciona Uso de la cuota de frecuencia.

(El metric.type es serviceruntime.googleapis.com/quota/rate/net_usage,
y el resource.type es consumer_quota).
Filtro

Agrega un filtro para que el gráfico solo muestre los datos del servicio que deseas supervisar. Por ejemplo, para supervisar el servicio de administración de identidades y accesos, agrega el siguiente filtro: 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.

Ventana progresiva Selecciona 1 m

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

Función analítica progresiva Selecciona 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.

En las series temporales
Agregación de series temporales

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.

En las series temporales
Agrupación de las series temporales

Selecciona quota_metric.

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

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 Google Cloud , usa la siguiente configuración:

Diálogo Nueva condición
Campo

Valor
Recurso y métrica En el menú Tipo de recurso, selecciona Red de VPC.
En el menú Categoría de métrica, selecciona cuota.
En el menú Métrica, selecciona Límite de cuota de instancias por red de VPC.

(El metric.type es compute.googleapis.com/quota/instances_per_vpc_network/limit,
y el resource.type es compute.googleapis.com/VpcNetwork).
Filtro Dejar en blanco
Ventana progresiva Selecciona 1 m

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

Función analítica progresiva Selecciona mean
.
En las series temporales
Agregación de series temporales
Dejar como none
En las series temporales
Agrupación de las series temporales
Dejar en blanco

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 Google Cloud , usa la siguiente configuración:

Diálogo Nueva condición
Campo

Valor
Recurso y métrica En el menú Tipo de recurso, selecciona Red de VPC.
En el menú Categoría de métrica, selecciona cuota.
En el menú Métrica, selecciona Uso de la cuota de instancias por red de VPC.

(El metric.type es compute.googleapis.com/quota/instances_per_vpc_network/usage,
y el resource.type es compute.googleapis.com/VpcNetwork).
Métrica En el menú 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.

Ventana progresiva Selecciona 1 m

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

Función analítica progresiva Selecciona mean
.
En las series temporales
Agregación de series temporales
Dejar como none
En las series temporales
Agrupación de las series temporales
Dejar en blanco

Gráficos de PromQL

Puedes usar las consultas de PromQL para crear gráficos con el editor de código de PromQL. Por ejemplo, cualquiera de las consultas que se muestran en Ejemplos de políticas de alertas de PromQL se pueden ingresar en el editor de código. Puedes omitir el operador de comparación al final, como > 0.8, en cada consulta. Solo se aplica cuando se crea una condición para una política de alertas. En un gráfico, establecer una condición con un operador de comparación no hace nada.

Para obtener más información, consulta Cómo usar el editor de código para PromQL.