En este documento se describe cómo crear políticas de alertas y gráficos para monitorizar la cuota que te ha asignado Google Cloud. También se incluyen varios ejemplos.Google Cloud establece varias cuotas que puedes usar para monitorizar y limitar los recursos que consumen un proyecto o una organización. Para obtener información general sobre las cuotas, incluidas las de asignación y las de frecuencia, consulta el artículo Trabajar con cuotas.
Antes de empezar
En este documento se da por supuesto que conoces los datos de series temporales y cómo manipularlos. En los siguientes recursos encontrarás más información:
- Para obtener información sobre cómo trabajar con datos de serie temporal, consulta Filtrado y agregación.
- Para ver las definiciones de los términos valor, delta y acumulativo, consulta Tipos de métricas.
- Para obtener más información sobre las funciones que se usan para combinar series temporales, consulta
Aligner
yReducer
.
Gestión de cuotas
Cloud Monitoring gestiona las cuotas de dos formas:
Cuota de consumidor: en este tipo de cuota, el recurso monitorizado es
consumer_quota
. Las métricas de este recurso son un subconjunto de las métricasserviceruntime
.La mayoría de los ejemplos de esta página son ejemplos de cuotas de consumidor.
Cuotas específicas de recursos: algunos servicios proporcionan recursos monitorizados que tienen métricas específicas de recursos para las cuotas. Estos tipos de métricas se muestran 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 a este recurso son uncompute.googleapis.com/quota
subconjunto de lascompute
métricas. Hay tres tipos de métricas relacionadas con la cuota "Instancias por red de VPC":quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
Identificar métricas de cuota y nombres de límites
Los datos sin procesar sobre el consumo de cuotas, especialmente en el caso de las cuotas de consumidor, pueden incluir información sobre muchas cuotas diferentes. Para extraer información sobre una cuota específica de un gráfico o una política de alertas, debe identificar ese subconjunto de datos de cuota.
En función de la fuente, los datos de cuota pueden incluir etiquetas que puedes usar para aislar la información que quieras. Estas etiquetas incluyen las siguientes:
- Métrica de cuota: es un identificador de 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 cuota de consumidor se escriben como un 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, como los datos de uso de la asignación. - Nombre del límite: identifica un límite de un tipo de cuota específico.
Una cuota puede tener más de un límite asociado. Por ejemplo, una cuota de llamadas de lectura puede tener un límite de 100 por minuto y otro de 1000 por día, con dos nombres de límite,
readsPerMinute
yreadsPerDay
. Los tipos de métricas relacionadas con las cuotas pueden tener un campolimit_name
para este valor.
Todos los serviceruntime.googleapis.com/quota
tipos de métricas
proporcionan la etiqueta quota_metric
, pero solo algunos incluyen la etiqueta limit_name
.
Los tipos de métricas específicos de los recursos para las cuotas incluyen la etiqueta limit_name
.
No todos los Google Cloud servicios admiten métricas de cuotas. Para determinar si un servicio admite métricas de cuota e identificar los valores de las etiquetas específicas de la cuota, puede seguir este procedimiento:
-
En la Google Cloud consola, 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 sea IAM y administrador.
Haga clic en view_column Ver columna y añada las siguientes columnas a la visualización de la cuota:
- 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 monitorizado: si se rellena, la cuota usa el recurso monitorizado que se indica. Si está vacío, el recurso monitorizado de la cuota es
consumer_quota
.
- Métrica: esta columna muestra el valor de la etiqueta
Busca la cuota que te interese.
Por ejemplo, la cuota de subredes de la API de Compute Engine indica que la métrica es
compute.googleapis.com/subnetworks
y que el nombre del límite esSUBNETWORKS-per-project
, pero no indica ningún recurso monitorizado. Por lo tanto, el recurso monitorizado de esta cuota esconsumer_quota
.
Ejemplo: Ver el uso de una métrica de cuota de consumidor específica
El objetivo es crear un gráfico que muestre, por región, la cuota total de almacenamiento en disco de Compute Engine. En este ejemplo de cuota de consumidor se recuperan datos de quota/allocation/usage
y, a continuación, se filtran para que se muestre el uso de la asignación de una métrica de cuota específica:
En la Google Cloud consola, selecciona Cloud Monitoring y, a continuación, Explorador de métricas.
En la barra de herramientas, despliega el menú de periodo y selecciona Últimos 14 días.
Despliega el menú Tipo de gráfico y selecciona Gráfico de barras apiladas.
Configura el explorador de métricas para que muestre el uso de la cuota de asignación:
- Haz clic en Selecciona una métrica e introduce
allocation
en la filter_list barra de filtros. - Selecciona Consumer Quota (Cuota de consumidor) en el recurso.
- Seleccione Quota en la categoría de métrica.
- Selecciona Uso de la cuota de asignación en la métrica y haz clic en Aplicar.
- Despliega el menú Agregación y selecciona Sin agregar.
El gráfico muestra el uso de la cuota de asignación como un gráfico de barras durante un periodo de seis semanas. Si consulta la leyenda, verá que el gráfico muestra el uso de la cuota de varios servicios.
Si usas la API Cloud Monitoring, el valor de filtro equivalente es:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
Para ver este valor de filtro, despliega el menú Tipo de recurso y selecciona Modo de filtro directo.
- Haz clic en Selecciona una métrica e introduce
Para limitar el gráfico al servicio Compute Engine, añade el filtro
service = compute.googleapis.com
:Si usas la API Cloud Monitoring, el valor de filtro equivalente es:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
En el gráfico ahora se muestra la serie temporal del uso de la cuota asignada de las cuotas de Compute Engine. La leyenda muestra el valor de la etiqueta
quota_metric
de 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 total de almacenamiento en disco de Compute Engine.El gráfico muestra el uso de la cuota solo para las cuotas que han registrado uso. Por ejemplo, si el proyecto no tiene ningún recurso de Compute Engine, al filtrar por el servicio
compute.googleapis.com
, se mostrará un gráfico sin datos.Para crear un gráfico que muestre el uso total de la cuota de almacenamiento en disco de Compute Engine, usa el filtro
quota_metric = compute.googleapis.com/disks_total_storage
:Si usas la API Cloud Monitoring, el valor de filtro equivalente es:
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 de las regiones
us-central1
yus-east1
, así como de varias zonas, incluida la zonaus-central1-a
.Para acotar el gráfico de modo que solo muestre los datos de las regiones, sin las zonas, añade un filtro basado en la etiqueta
location
. En este ejemplo, en el que ambas regiones empiezan porus-
y terminan por1
, un filtro que use la expresión regularlocation =~ ^us.*1$
funciona bien:
En el caso de las cuotas de consumidor, el valor de la etiqueta quota_metric
identifica tanto el servicio como el uso de cuota específico que se está monitorizando. Cuando creas gráficos o políticas de alertas que monitorizan 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 avise cuando ocurra algo, como alcanzar el 85% del límite de una cuota.
Una política de alertas es un conjunto de condiciones e información de notificación:
- Una condición describe lo que se está monitorizando, cómo se deben combinar los datos de serie temporal de ese recurso y cuándo se genera un incidente. Una política de alertas debe especificar al menos una condición.
- El canal de notificación especifica a quién se debe notificar y cómo se le debe notificar cuando se produce un incidente. Por ejemplo, puedes configurar la política de alertas para que envíe un correo a una persona concreta o a un grupo de personas.
Hay dos técnicas que puede usar para crear condiciones de políticas de alertas:
Usar filtros de monitorización para seleccionar y manipular datos. Por ejemplo, cuando usas la interfaz gráfica para crear condiciones de políticas de alertas, estás creando filtros. En el ejemplo que se muestra en Trabajar con métricas de cuota se usan filtros para seleccionar datos de un gráfico. También puedes usar filtros en las solicitudes a la API Monitoring.
Usar PromQL para seleccionar y manipular datos. PromQL es un lenguaje de consulta basado en texto. Con el editor de código PromQL, puedes crear consultas que no se pueden crear con la técnica basada en filtros. Te recomendamos que uses PromQL para crear políticas de alertas basadas en ratios. Para obtener más información, consulta los ejemplos de políticas de alertas de PromQL.
En esta página se explican ambas técnicas. También puedes crear gráficos con cualquiera de los dos métodos.
Ejemplos de filtros 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 lo que se está monitorizando y cómo se van a combinar los datos.
- En la segunda tabla se describe cuándo se debe generar un incidente.
Estos ejemplos corresponden al método basado en filtros.
Ninguna de estas políticas calcula ratios. Para ver ejemplos basados en ratios, consulta los ejemplos de políticas de alertas de PromQL.
Alertas sobre errores de quota/exceeded
Puede crear una política de alertas para que se le notifique si algún servicio de suGoogle Cloud proyecto informa de que se ha superado una cuota. Puede crear este tipo de política mediante la consola o la API de Cloud Monitoring. Google Cloud
Usar la Google Cloud consola
El resto del contenido de esta subsección se refiere al cuadro de diálogo de condiciones de una política de alertas.
Completa el cuadro de diálogo Nueva condición con los ajustes de la tabla que aparece a continuación.
Estos ajustes especifican que quieres monitorizar los datos de serie temporal de la métrica serviceruntime
/quota/exceeded
de todos los servicios de tu proyecto y que quieres agrupar los datos por el límite de cuota. Google Cloud
Campo del cuadro de diálogo Nueva condición |
Valor |
---|---|
Recurso y métrica | En el menú Resources (Recursos), selecciona Consumer Quota (Cuota de consumidor). En el menú Categorías de métricas, selecciona Cuota. En el menú Métricas, selecciona Error de cuota superada. (El metric.type es serviceruntime.googleapis.com/quota/exceeded y el resource.type es consumer_quota ).
|
Filtro |
Añade un filtro para que el gráfico solo muestre los datos del servicio que quieras monitorizar. Por ejemplo, para monitorizar el servicio Gestión de Identidades y Accesos, añade el siguiente filtro: service = iam.googleapis.com. Si el campo de filtro está vacío, se incluyen en el gráfico todos los datos de métricas disponibles. |
Ventana de tiempo | Selecciona 1 m . |
Función de ventana móvil | Selecciona count true .
Esta métrica es de tipo En el caso de esta métrica, las funciones de ventana acumulada de |
En series temporales Agregación de series temporales |
Selecciona El campo de agregación se define automáticamente como |
Entre series temporales Agrupación de series temporales |
Selecciona Esta opción agrupa los datos por el tipo de nombre del |
Completa el cuadro de diálogo Configurar activador con los siguientes ajustes. Estos ajustes hacen que la política de alertas cree una alerta si el número de errores de cuota superada supera el valor 0 durante 1 minuto. Se ha seleccionado el valor 0 porque los errores de cuota superada son inesperados e indican que es necesario aumentar una cuota o modificar un servicio para reducir las solicitudes de API. Puede que quieras usar un umbral más alto.
Cuadro de diálogo Configurar activador Campo |
Valor |
---|---|
Tipo de condición | Threshold |
Activador de alerta | Any time series violates |
Posición del umbral | Above threshold |
Valor de umbral | 0 |
Ventana de repetición de la prueba | 1 min |
Usar 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 Cloud Monitoring directamente, mediante la CLI de Google Cloud o con bibliotecas de cliente. Para obtener más información, consulta el artículo sobre cómo crear políticas.
Para obtener 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 valor absoluto de quota/allocation/usage
Puedes crear una política de alertas para recibir una notificación si el uso de la cuota de asignación de un servicio específico de tuGoogle Cloud proyecto supera un umbral especificado por el usuario. Puede crear este tipo de política mediante la consola o la API de Cloud Monitoring. Google Cloud
Usar la Google Cloud consola
El resto del contenido de esta subsección corresponde al cuadro de diálogo de condiciones de una política de alertas.
Completa el cuadro de diálogo Nueva condición con los ajustes de la tabla siguiente.
Estos ajustes especifican que quieres monitorizar los datos de la serie temporal de la métrica serviceruntime
/quota/allocation/usage
de un servicio de tu proyecto Google Cloud y que quieres agrupar los datos por el límite de cuota.
Campo del cuadro de diálogo Nueva condición |
Valor |
---|---|
Recurso y métrica | En el menú Resources (Recursos), selecciona Consumer Quota (Cuota de 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 |
Añade un filtro para que el gráfico solo muestre los datos del servicio que quieras monitorizar. Por ejemplo, para monitorizar el servicio Gestión de Identidades y Accesos, añade el siguiente filtro: service = iam.googleapis.com. Si el campo de filtro está vacío, se incluyen en el gráfico todos los datos de métricas disponibles. |
Ventana de tiempo | Selecciona 1440 m . El periodo de coincidencias es el intervalo de muestreo de esta métrica. |
Función de ventana móvil | Selecciona next older . La función de ventana de tiempo se ha definido en |
En series temporales Agregación de series temporales |
Selecciona El campo de agregación se define automáticamente como |
Entre series temporales Agrupación de series temporales |
Selecciona Esta opción agrupa los datos por el tipo de nombre del |
Completa el cuadro de diálogo Configurar activador con los siguientes ajustes. Estos ajustes hacen que la política de alertas cree una alerta si el valor de la serie temporal supera 2,5 durante 1440 min. El valor de 1440 m coincide con la ventana acumulada. Se ha seleccionado el valor 2, 5 para este ejemplo porque es ligeramente superior al valor normal del sistema de prueba. Debe seleccionar el umbral en función del servicio que esté monitorizando, así como del intervalo de valores esperado de la métrica.
Cuadro de diálogo Configurar activador Campo |
Valor |
---|---|
Tipo de condición | Threshold |
Activador de alerta | Any time series violates |
Posición del umbral | Above threshold |
Valor de umbral | 2.5 |
Ventana de repetición de la prueba | 1440 m |
Usar 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 Cloud Monitoring directamente, mediante la CLI de Google Cloud o con bibliotecas de cliente. Para obtener más información, consulta el artículo sobre cómo crear políticas.
Para obtener 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 crear consultas más potentes y flexibles que las que puedes crear con filtros de Monitoring. Te recomendamos que uses PromQL para configurar políticas de alertas basadas en ratios. Por ejemplo, con PromQL, puedes configurar una proporción para el uso de la cuota de velocidad, lo que requiere calcular la proporción de una métrica de tipo Gauge (el límite) y una métrica de tipo Delta (la velocidad).
Puedes crear políticas de alertas basadas en PromQL mediante la Google Cloud consola o la API Monitoring:
Google Cloud Consola: usa el editor de código PromQL cuando crees la condición de alerta. Para abrir el editor de código PromQL, en la barra de herramientas del cuadro de diálogo Crear política de alertas, haz clic en PromQL. Para obtener más información sobre cómo usar este editor, consulta el artículo Usar el editor de código para PromQL.
API Monitoring: usa el método
alertPolicies.create
y proporciona una condición del tipoPrometheusQueryLanguageCondition
. Este tipo de condición toma una consulta de PromQL como valor de campo. Para obtener más información sobre cómo usar la API Monitoring con PromQL, consulta Crear 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 el artículo Políticas de alertas basadas en PromQL.
Política de alertas que monitoriza 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 la tasa de uso por minuto de un servicio de recursos específico supera el 80% de un límite concreto:
(
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, haz los siguientes cambios:
- Sustituye
sample.googleapis.com
por el servicio que quieras monitorizar. - Sustituye
Limit
porlimit_name
con el límite que quieras monitorizar. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identificar métricas de cuota y nombres de límites. - Sustituye
1m
por el periodo adecuado para tu consulta.
No puedes crear esta consulta con filtros.
Política de alertas que monitoriza la proporción de 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 monitorice varios límites y te avise si alguno supera un umbral.
El siguiente patrón de consulta de PromQL describe una política de alertas que envía notificaciones cuando el uso 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 del alineador por día se ha definido en 23 horas en lugar de 1 día. PromQL solo puede requerir 23 horas y 30 minutos de datos y, a efectos de cálculo, el alineador añade una hora al periodo de alineación. Si usas [1d]
, la condición no se puede guardar porque requiere 25 horas de datos.
Para usar este patrón de consulta, haz los siguientes cambios:
- Sustituye la expresión regular de
service=~
por una expresión regular de los servicios que quieras monitorizar. - En la primera proporción:
- Sustituye
.*PerMinute.*
porlimit_name=~
con una expresión regular para el primer grupo de límites que quieras monitorizar. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identificar métricas de cuota y nombres de límites. - Sustituye
1m
por una ventana adecuada a tus límites.
- Sustituye
- En la segunda proporción:
- Sustituye
.*PerDay.*
porlimit_name=~
con una expresión regular para el segundo grupo de límites que quieras monitorizar. - Sustituye
23h
por una ventana adecuada a tus límites.
- Sustituye
No puedes crear esta consulta con filtros.
Alerta de ratio sobre el uso de la cuota de asignación de un límite
El siguiente patrón de consulta de PromQL describe una alerta que monitoriza cuándo 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, haz los siguientes cambios:
- Sustituye
sample.googleapis.com
por el servicio que quieras monitorizar. - Sustituye
Limit
porlimit_name
con el límite que quieras monitorizar. Para obtener información sobre cómo encontrar los nombres de los límites, consulta Identificar métricas de cuota y nombres de límites.
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 una 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 de consumidor usa el CPUS-per-project-region
nombre del límite
en la cuota "CPUs" de la API Compute Engine. Para obtener información sobre cómo encontrar nombres de límites, consulta Identificar métricas de cuota y nombres de límites.
Política de alertas que monitoriza la proporción de cuota de asignación de cualquier servicio
PromQL admite el filtrado con comodines, expresiones regulares y lógica booleana. Por ejemplo, puedes usar PromQL para crear una alerta que monitorice varios límites o servicios y te avise si alguno supera un umbral.
La siguiente consulta de PromQL describe una alerta que monitoriza cuándo el uso de la asignación por día de cualquier servicio de recursos supera el 80% de cualquiera de los límites de 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 tal cual o filtrar los servicios por una expresión regular para los servicios que quieras monitorizar. También puedes filtrar por un servicio específico y usar comodines en un filtro de límite.
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 limit
datos por nombre de límite y por 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 de consumidor usa el CPUS-per-project-zone
nombre del límite
en la cuota "CPUs" de la API Compute Engine. Para obtener información sobre cómo encontrar nombres de límites, consulta Identificar métricas de cuota y nombres de límites.
Alerta de ratio que usa una cuota específica de un recurso
Puedes usar PromQL para configurar ratios de métricas relacionadas con cuotas específicas de recursos. En este caso, se especifica un recurso monitorizado específico del servicio y se calcula una proporción a partir de un par de métricas relacionadas con la cuota específica del recurso.
El siguiente patrón de consulta describe una alerta que monitoriza 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, haz los siguientes cambios:
- Sustituye
sample.googleapis.com
por el servicio que quieras monitorizar. - Sustituye
SampleResource
por el recurso monitorizado asociado. - Sustituye
samplemetric
por la cadena de un grupo de tipos de métricas. - En las operaciones
by (...)
, enumere 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 PromQL configura una alerta que monitoriza cuándo el uso de la cuota instances_per_vpc_network
de Compute Engine supera el 80% en 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
Los gráficos muestran datos de series temporales. Puedes usar el explorador de métricas para crear un gráfico. Con Explorador de métricas, puedes descartar el gráfico cuando ya no lo necesites o guardarlo en un panel de control. En la vista de panel de control, puedes añadir un gráfico al panel.
Si solo quieres configurar un gráfico que muestre datos de cuota, puedes usar los ajustes 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 de control personalizados:Nombre del campo del cuadro de diálogo Nueva condición |
Gráficos |
---|---|
Función de ventana móvil | Configuración óptima en función de la métrica seleccionada y los ajustes de agregación. Para especificar la función de alineación, haz lo siguiente:
|
Ventana de tiempo | Intervalo mínimo (para acceder, haz clic en add Añadir elemento de consulta) |
Agrupar por serie temporal (en la sección Entre series temporales) |
Segundo menú del elemento Agregación |
Agregación de series temporales (en la sección Entre series temporales) |
Primer menú del elemento Agregación |
Serie temporal de quota/rate/net_usage
Para ver los datos de serie temporal de la métrica serviceruntime
quota/rate/net_usage
de todos los servicios de tu Google Cloud proyecto,
donde los datos se agrupan por el nombre de la métrica de cuota y se muestra la tasa de uso,
usa los siguientes ajustes:
Campo del cuadro de diálogo Nueva condición |
Valor |
---|---|
Recurso y métrica | En el menú Resources (Recursos), selecciona Consumer Quota (Cuota de consumidor). En el menú Categorías de métricas, selecciona Cuota. En el menú Métricas, selecciona Uso de la cuota de frecuencia. ( metric.type es serviceruntime.googleapis.com/quota/rate/net_usage y resource.type es consumer_quota ).
|
Filtro |
Añade un filtro para que el gráfico solo muestre los datos del servicio que quieras monitorizar. Por ejemplo, para monitorizar el servicio Gestión de Identidades y Accesos, añade el siguiente filtro: service = iam.googleapis.com. Si el campo de filtro está vacío, se incluyen en el gráfico todos los datos de métricas disponibles. |
Ventana de tiempo | Selecciona 1 m . El periodo de 1 minuto coincide con el intervalo de muestreo de esta métrica. |
Función de ventana móvil | Selecciona rate .
Si asigna el valor |
En series temporales Agregación de series temporales |
Selecciona El campo de agregación se define automáticamente como |
Entre series temporales Agrupación de series temporales |
Selecciona Esta opción agrupa los datos por el tipo de nombre del |
Serie temporal de quota/instances_per_vpc_network/limit
Para ver los datos de serie temporal de la métrica compute.googleapis.com
quota/instances_per_vpc_network/limit
de todas las redes de tu proyecto Google Cloud , usa los siguientes ajustes:
Campo del cuadro de diálogo Nueva condición |
Valor |
---|---|
Recurso y métrica | En el menú Tipo de recurso, selecciona Red de VPC. En el menú Categoría de métrica, seleccione cuota. En el menú Métrica, selecciona Límite de cuota de instancias por red VPC. ( metric.type es compute.googleapis.com/quota/instances_per_vpc_network/limit y resource.type es compute.googleapis.com/VpcNetwork ).
|
Filtro | Dejar vacío |
Ventana de tiempo | Selecciona 1 m . El periodo de coincidencias es el intervalo de muestreo de esta métrica. |
Función de ventana móvil | Selecciona mean . |
En series temporales Agregación de series temporales |
Dejar como none
|
Entre series temporales Agrupación de series temporales |
Dejar vacío |
Serie temporal de quota/instances_per_vpc_network/usage
Para ver los datos de serie temporal de la métrica compute.googleapis.com
quota/instances_per_vpc_network/usage
de una de las redes de tu proyecto Google Cloud , usa los siguientes ajustes:
Campo del cuadro de diálogo Nueva condición |
Valor |
---|---|
Recurso y métrica | En el menú Tipo de recurso, selecciona Red de VPC. En el menú Categoría de métrica, seleccione cuota. En el menú Métrica, selecciona Uso de la cuota de instancias por red de VPC. ( metric.type es compute.googleapis.com/quota/instances_per_vpc_network/usage y 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 |
Añade 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, añade el siguiente filtro: network_id = identifier. Si el campo de filtro está vacío, se incluyen en el gráfico todos los datos de métricas disponibles. |
Ventana de tiempo | Selecciona 1 m . El periodo de coincidencias es el intervalo de muestreo de esta métrica. |
Función de ventana móvil | Selecciona mean . |
En series temporales Agregación de series temporales |
Dejar como none
|
Entre series temporales Agrupación de series temporales |
Dejar vacío |
Gráficos de PromQL
Puedes usar 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 los ejemplos de políticas de alertas de PromQL se puede introducir 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, definir una condición con un operador de comparación no tiene ningún efecto.
Para obtener más información, consulta Usar el editor de código para PromQL.