En este documento, se describe cómo crear políticas de alertas y gráficos para supervisar la cuota que Google Cloud te asignó, y se incluyen varios ejemplos. Google Cloud establece varias cuotas que puedes usar para realizar un seguimiento y limitar los recursos que consume una organización o un proyecto. 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
yReducer
.
Administración de la cuota
Cloud Monitoring administra la cuota de dos maneras:
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 deserviceruntime
.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 nombres:
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 decompute.googleapis.com/quota
de las métricas decompute
. Existen tres tipos de métricas relacionadas con la cuota de "instancias por red de VPC":quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
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
, comoquota/allocation/usage
. Este tipo de métrica tiene una etiquetaquota_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
yreadsPerDay
. Los tipos de métricas relacionados con las cuotas pueden tener un campolimit_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 de 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:
-
En la consola de Google Cloud, ve a la página Cuotas y límites del sistema:
Ve 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.
Haz clic en view_column Ver columna y agrega las siguientes columnas a la visualización de cuotas:
- Métrica: Esta columna muestra el valor de la etiqueta
quota_metric
. - Nombre del límite: Esta columna muestra el valor de la etiqueta
limit_name
. - Recurso supervisado: Cuando se propaga, la cuota usa el recurso supervisado que se indica. Cuando está vacío, el recurso supervisado de la cuota es
consumer_quota
.
- Métrica: Esta columna muestra el valor de la etiqueta
Ubica la cuota de interés.
Por ejemplo, la cuota de subredes de la API de Compute Engine indica la métrica como
compute.googleapis.com/subnetworks
, el nombre del límite comoSUBNETWORKS-per-project
y no incluye un recurso supervisado. Por lo tanto, el recurso supervisado para esta cuota esconsumer_quota
.
Ejemplo: Consulta 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:
En la consola de Google Cloud, selecciona Cloud Monitoring y, luego, el Explorador de métricas.
Selecciona la pestaña Configuración.
En la barra de herramientas, selecciona 1M para establecer el período en un mes.
Expande el menú Gráfico de líneas y selecciona Gráfico de barras apiladas.
Configura el Explorador de métricas para mostrar el uso de la cuota de asignación:
- Haz clic en Seleccionar una métrica y, luego, ingresa
allocation
en la barra de filtros filter_list. - Selecciona Cuota del consumidor para el recurso.
- Selecciona Cuota para la categoría de métrica.
- Selecciona Uso de cuota de asignación para la métrica y haz clic en Aplicar.
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.
- Haz clic en Seleccionar una métrica y, luego, ingresa
Para limitar la visualización al servicio de Compute Engine, agrega el filtro
service = compute.googleapis.com
: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.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
: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"
En el gráfico anterior, se muestran series temporales para las regiones
us-central1
yus-east1
, y para varias zonas, incluida la zonaus-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 prefijous-
y terminan con1
, un filtro que usa la expresión regular,location =~ ^us.*1$
, funciona bien:
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 MQL para seleccionar y manipular datos MQL es un lenguaje de consulta basado en texto. Con el editor de código de MQL, puedes crear consultas que no puedas crear con la técnica basada en filtros. Te recomendamos que uses MQL para crear políticas de alertas basadas en proporciones. Para obtener más información, consulta los ejemplos de políticas de alertas de MQL.
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 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 la consola de Google Cloud o mediante 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 Nueva condición 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 Para esta métrica, las funciones de ventana móvil de |
En las series temporales Agregación de series temporales |
Selecciona El campo de agregación se establece automáticamente en |
En las series temporales Agrupación de las series temporales |
Selecciona Esta opción agrupa los datos mediante el tipo de nombre de |
Completa el diálogo Configure trigger 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 diálogo Configurar activador |
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 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 la consola de Google Cloud o mediante 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 Nueva condición 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.
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 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 continua se establece en |
En las series temporales Agregación de series temporales |
Selecciona El campo de agregación se establece automáticamente en |
En las series temporales Agrupación de las series temporales |
Selecciona Esta opción agrupa los datos mediante el tipo de nombre de |
Completa el diálogo Configure trigger 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 el período 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.
Campo del diálogo Configurar activador |
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 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 filtros de Monitoring. Te recomendamos que uses 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 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 MQL mediante la consola de Google Cloud o la API de Monitoring:
Consola de Google Cloud: Usa el editor de código de MQL cuando crees la condición de alerta. Para abrir el editor de código, en la barra de herramientas del diálogo Crear política de alertas, haz clic en code Editor de consultas. Para obtener más información sobre el uso de este editor, consulta Cómo usar el editor de código para MQL.
API de Monitoring: Usa el método
alertPolicies.create
y proporciona una condición del tipoMonitoringQueryLanguageCondition
. Este tipo de condición toma una consulta de MQL como un valor de campo. Si deseas obtener más información sobre el uso de la API de Monitoring con MQL, consulta Creación de condiciones para las políticas de alertas de MQL.
Para obtener información específica de MQL, consulta Uso del 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.
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 MQL 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:
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')
Para usar este patrón de consulta, realiza los siguientes cambios:
- Reemplaza
sample.googleapis.com
por el servicio que deseas supervisar. - Reemplaza
Limit
parametric.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
en las funcionesdelta_gauge
ysliding
con una ventana adecuada para tu límite.
No modifiques la operación every 1m
, que determina la distancia entre los puntos de datos en los resultados de la consulta.
No puedes crear esta consulta con filtros.
Política de alertas que supervisa la proporción 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 política de alertas que realice un seguimiento de varios límites y te avise si alguno excede un límite.
El siguiente patrón de consulta de MQL 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%:
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')
En la consulta anterior, el argumento para el alineador delta_gauge
se establece en 23 horas en lugar de 1 día. MQL solo puede requerir 23 horas y 30 minutos de datos, y para fines de procesamiento, el alineador delta_gauge
agrega una hora al período de alineación. Si usas delta_gauge(1d)
, la condición no se puede guardar porque la condición requiere 25 horas de datos. Este comportamiento es diferente del alineador next_older
, que no rellena el período de alineación.
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 a los que deseas hacer un seguimiento. - En la primera proporción:
- Reemplaza
.*PerMinute.*
parametric.limit_name
por 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 Identificación de métricas de cuotas y nombres de límites. - Reemplaza
1m
en las funcionesdelta_gauge
ysliding
con una ventana adecuada para tus límites.
- Reemplaza
- En la segunda proporción, sucede lo siguiente:
- Reemplaza
.*PerDay.*
parametric.limit_name
por una expresión regular del segundo grupo de límites que deseas realizar un seguimiento. - Reemplaza
23h
en las funcionesdelta_gauge
ysliding
con una ventana adecuada para tus límites.
- Reemplaza
No modifiques la operación every 1m
, que determina la distancia entre los puntos de datos en los resultados de la consulta.
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 MQL 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:
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')
Para usar este patrón de consulta, realiza los siguientes cambios:
- Reemplaza
sample.googleapis.com
por el servicio que deseas supervisar. - Reemplaza
Limit
parametric.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.
No modifiques la operación every 1m
, que determina la distancia entre los puntos de datos en los resultados de la consulta.
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:
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 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
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 o servicios y te avise si alguno excede 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 la 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 de resource.service
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.
No modifiques la operación every 1m
, que determina la distancia entre los puntos de datos en los resultados de la consulta.
Por ejemplo, el 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:
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 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 MQL a fin de 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:
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 del grupo de tipos de métricas. - En las operaciones
group_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 MQL, 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:
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.
Cuando solo quieras configurar un gráfico que muestre datos de cuota, puedes usar la configuración de la tabla Nueva condición. 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:Nombre del campo del diálogo Nueva condición |
Gráficos |
---|---|
Función analítica progresiva | Se configura de manera óptima en función de la métrica y la configuración de agregación seleccionadas. Para especificar la función de alineación, haz lo siguiente:
|
Ventana progresiva | Intervalo mínimo (para acceder, haz clic en add 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 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:
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 |
En las series temporales Agregación de series temporales |
Selecciona El campo de agregación se establece automáticamente en |
En las series temporales Agrupación de las series temporales |
Selecciona Esta opción agrupa los datos mediante el tipo de nombre de |
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:
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 de 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 MQL
Puedes usar las consultas de MQL para crear gráficos mediante el editor de código de MQL. Por ejemplo, cualquiera de las consultas que se muestran en Ejemplos de políticas de alertas de MQL se pueden ingresar en el editor de código. Puedes omitir la última operación, condition
, en cada consulta. Se aplica siempre, excepto cuando se crea una condición para una política de alertas. En un gráfico, la operación condition
no hace nada.
Para obtener más información, consulta Cómo usar el editor de código para MQL y Ejemplos de MQL.