Las etiquetas definidas por el usuario en las políticas de alertas de Cloud Monitoring te permiten organizar y priorizar tus alertas. Cuando configuras estas etiquetas, Monitoring las muestra en las políticas de alertas y las alertas, y puede incluirlas en las notificaciones.
Acerca de las etiquetas
Las etiquetas, que son pares clave-valor, se usan para adjuntar información a una serie temporal, una política de alertas, una alerta o una notificación. Por ejemplo, las etiquetas de una serie temporal pueden identificar la instancia de máquina virtual (VM) específica desde la que se recopilaron los datos. Las etiquetas pueden ser definidas por el usuario o predefinidas.
Etiquetas definidas por el usuario
Las etiquetas definidas por el usuario contienen información que especificas. Estas etiquetas pueden tener valores estáticos o dinámicos:
Las etiquetas definidas por el usuario estáticas tienen valores que no se pueden cambiar. Puedes crear etiquetas definidas por el usuario estáticas cuando configuras una política de alertas con la Google Cloud consola o la API de Cloud Monitoring. Para obtener más información, consulta los siguientes documentos:
Las etiquetas definidas por el usuario dinámicas tienen valores que pueden cambiar según los valores de los datos de series temporales. Puedes crear etiquetas definidas por el usuario dinámicas cuando configuras la condición de una política de alertas con PromQL. Para ver un ejemplo, consulta Ejemplo: Agrega etiquetas definidas por el usuario con valores dinámicos.
Las claves de etiquetas deben comenzar con una letra en minúscula. Tanto las claves como los valores de las etiquetas solo pueden contener letras en minúscula, dígitos, guiones bajos y guiones.
Etiquetas predefinidas
Las etiquetas predefinidas se incluyen en los descriptores de recursos; estas etiquetas deben propagarse cuando se escriben los datos de series temporales. Estas etiquetas muestran información sobre la métrica que se recopila o el recurso con el que se escribe la métrica. Por ejemplo, las etiquetas de una serie temporal pueden identificar una máquina virtual (VM), una zona, un Google Cloud proyecto y un tipo de dispositivo. Cuando Monitoring crea una alerta basada en esa serie temporal, la alerta hereda esas etiquetas.
Etiquetas de App Hub
App Hub adjunta etiquetas a los datos de registros, métricas y seguimientos generados por una aplicación y sus servicios y cargas de trabajo. Estas etiquetas permiten que la Google Cloud infraestructura cree paneles de aplicaciones, servicios y cargas de trabajo que muestran datos de métricas y registros. Para obtener más información, consulta uno de los siguientes documentos:
- Google Cloud consola: Asocia una política de alertas con una aplicación de App Hub.
- API de Cloud Monitoring: Asocia una política de alertas con una aplicación de App Hub.
Cómo ver etiquetas
Puedes ver las etiquetas de una política de alertas o una alerta en la página de detalles de una alerta, la página de detalles de una política de alertas, y en algunas notificaciones.
- Políticas de alertas: Las etiquetas definidas por el usuario estáticas se enumeran en la sección Etiquetas de usuario. Las etiquetas definidas por el usuario dinámicas y las etiquetas predefinidas no son visibles.
- Alertas: Las etiquetas definidas por el usuario estáticas se enumeran en la sección Etiquetas de política y las etiquetas definidas por el usuario dinámicas se enumeran en la sección Etiquetas de métricas. Las etiquetas predefinidas se enumeran en las secciones Etiquetas de recursos supervisados y Etiquetas de métricas.
Notificaciones: Las etiquetas predefinidas y las etiquetas definidas por el usuario se enumeran en los siguientes tipos de notificaciones:
- Correo electrónico
- Google Chat
- PagerDuty
- Pub/Sub
- Webhook
Ejemplo: Agrega etiquetas definidas por el usuario con valores dinámicos
Puedes usar PromQL para configurar una etiqueta de modo que su valor cambie de forma dinámica según los datos de series temporales. Por ejemplo, quieres que tus alertas tengan una etiqueta criticality cuyo valor cambie según el valor de la métrica de uso de CPU supervisada:
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.9,
"criticality", "CRITICAL", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.8,
"criticality", "WARNING", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.7,
"criticality", "INFO", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]),
"criticality", "GOOD", "", ""
)
En la siguiente figura, se ilustra cómo las políticas de alertas que usan consultas de PromQL procesan los datos de series temporales que supervisan:
El controlador de políticas procesa los datos de uso de CPU y genera una serie temporal que indica cuándo se cumple la condición. En el ejemplo anterior, la condición se cumple cuando el uso de CPU es de al menos el 70%. Para cada serie temporal de entrada, el controlador de políticas puede generar una de cuatro series temporales:
| Nombre de la serie temporal de salida | Se cumplió la condición | Descripción |
|---|---|---|
| "GOOD" | No | Esta serie temporal tiene las mismas etiquetas que la serie temporal de entrada. No tiene una etiqueta de gravedad. |
| "CRITICAL" | Sí | El uso de CPU es de al menos el 90%. La serie temporal de salida tiene las mismas etiquetas que la serie temporal "GOOD" más una etiqueta de gravedad con el valor "CRITICAL". |
| "WARNING" | Sí | El uso de CPU es de al menos el 80%, pero inferior al 90%. La serie temporal de salida tiene las mismas etiquetas que la serie temporal "GOOD" más una etiqueta de gravedad con el valor "WARNING". |
| "INFO" | Sí | El uso de CPU es de al menos el 70%, pero inferior al 80%. La serie temporal de salida tiene las mismas etiquetas que la serie temporal "GOOD" más una etiqueta de gravedad con el valor "INFO". |
Los datos de series temporales generados por el controlador de políticas son la entrada al
administrador de alertas, que determina cuándo se crean y
cierran las alertas. Para determinar cuándo cerrar una alerta, el administrador de alertas usa los valores de los campos duration, evaluationMissingData y autoClose.
Prácticas recomendadas
Para verificar que, como máximo, una alerta esté abierta a la vez cuando creas etiquetas cuyos valores se establecen de forma dinámica, haz lo siguiente:
En el objeto
MetricThreshold, anula los valores predeterminados de los siguientes campos:- Campo
duration: Establece un valor distinto de cero. - Campo
evaluationMissingData: Configura para que las alertas se cierren cuando dejen de llegar datos. Cuando usas la API de Cloud Monitoring, establece este campo enEVALUATION_MISSING_DATA_INACTIVE. Cuando usas la Google Cloud consola, establece el campo en "Los datos faltantes se tratan como valores que no incumplen la condición de la política".
- Campo
En el objeto
AlertStrategy, establece el campoautoCloseen su valor mínimo de 30 minutos. Cuando usas la API de Cloud Monitoring, establece este campo en30m.
Para obtener más información, consulta Datos de métricas parciales.
Flujo de alertas
Supongamos que las mediciones de uso de CPU son inferiores al 70% cuando se crea la política de alertas. En la siguiente secuencia, se ilustra cómo se abren y cierran las alertas:
Debido a que las mediciones de uso de CPU son inferiores al 70%, el controlador de políticas genera la serie temporal "GOOD" y no se abren alertas.
A continuación, supongamos que el uso de CPU aumenta al 93%. El controlador de políticas deja de generar los datos de series temporales "GOOD" y comienza a generar datos para la serie temporal "CRITICAL".
El administrador de alertas ve una nueva serie temporal "CRITICAL" que cumple con la condición y, luego, abre una alerta. La notificación incluye la etiqueta de gravedad con un valor de
CRITICAL.Supongamos que el uso de CPU cae al 75%. El controlador de políticas deja de generar la serie temporal "CRITICAL" y comienza a generar la serie temporal "INFO".
El administrador de alertas ve una nueva serie temporal "INFO" que cumple con la condición y, luego, abre una alerta. La notificación incluye la etiqueta de gravedad con un valor de
INFO.El administrador de alertas ve que no llegan datos para la serie temporal "CRITICAL" y que hay una alerta abierta para esa serie temporal. Debido a que la política está configurada para cerrar las alertas cuando dejan de llegar datos, el administrador de alertas cierra la alerta asociada con la serie temporal "CRITICAL". Por lo tanto, solo permanece abierta la alerta cuya etiqueta de gravedad tiene un valor de
INFO.Por último, supongamos que el uso de CPU cae al 45%. Este valor es inferior a todos los umbrales, por lo que el controlador de políticas deja de generar la serie temporal "INFO" y comienza a generar la serie temporal "GOOD".
El administrador de alertas ve que no llegan datos para la serie temporal "INFO" y que hay una alerta abierta para esa serie temporal. Debido a que la política usa la configuración recomendada, la alerta se cierra.
Si no usas el valor recomendado para el campo evaluationMissingData, cuando dejen de llegar datos, las alertas abiertas no se cerrarán de inmediato.
El resultado es que es posible que veas varias alertas abiertas para la misma serie temporal de entrada. Para obtener más información, consulta
Datos de métricas parciales.
¿Qué sigue?
- Crea políticas de alertas con la API de Monitoring
- Crea políticas de alertas con PromQL
- Cómo controlar datos de métricas parciales