Crea políticas de alertas de valores de métricas previstos

En este documento, se describe cómo usar la consola de Google Cloud para crear una política de alertas que envíe notificaciones cuando la política predique que se infringirá el umbral dentro de la próxima ventana de pronóstico. Un pronóstico predice si una serie temporal incumplirá o no un umbral dentro de un período de pronóstico, que es un período en el futuro. El período del pronóstico puede variar de 1 hora (3,600 segundos) a 2.5 días (216,000 segundos).

Este contenido no se aplica a las políticas de alertas basadas en registros. Para obtener información sobre las políticas de alertas basadas en registros, que te notifican cuando aparece un mensaje en particular en tus registros, consulta Supervisa tus registros.

En este documento, no se describe lo siguiente:

Información acerca de las condiciones de la previsión

Puedes usar la previsión cuando supervises la mayoría de las métricas. Sin embargo, cuando supervisas un recurso limitado, como la cuota, el espacio en el disco o el uso de la memoria, una condición de pronóstico puede notificarte antes de que se incumpla el umbral. Esa función te brinda más tiempo para responder a la forma en que se consume ese recurso limitado antes de que se incumpla el límite.

Para cada serie temporal que supervisa una condición de pronóstico, la condición crea una instancia de un algoritmo de decisión. Después de que se entrena ese algoritmo, genera un pronóstico cada vez que se evalúa la condición. Cada pronóstico es una predicción de que sus series temporales incumplirá o no el umbral dentro del período de pronóstico. Si una serie temporal supervisada tiene una periodicidad regular, el algoritmo de decisión de esa serie temporal incorpora el comportamiento periódico en sus pronósticos.

Se cumple una condición del pronóstico cuando ocurre una de las siguientes situaciones, o ambas:

  • Todos los valores de una serie temporal durante un período de nueva prueba específico vulneran el umbral.
  • Todos los pronósticos de una serie temporal específica que se realizan en un período de nueva prueba predicen que la serie temporal incumplirá el umbral dentro del período de pronóstico.

El tiempo de entrenamiento inicial de un algoritmo de decisión es el doble de la longitud de la ventana de previsión. Por ejemplo, si el período de previsión es de una hora, se requieren dos horas de tiempo de entrenamiento. El algoritmo de decisión para cada serie temporal se entrena de forma independiente. Mientras se entrena un algoritmo de decisión, su serie temporal cumple con la condición solo cuando los valores de la serie temporal incumplen el umbral de la ventana de nueva prueba especificada.

Después de completar el entrenamiento inicial, cada algoritmo de decisión se entrena de forma continua con datos que abarcan hasta seis veces la duración de la ventana de previsión. Por ejemplo, cuando el período de previsión es de una hora, se usan las seis horas más recientes de datos durante el entrenamiento continuo.

Cuando configuras una condición de previsión y dejan de llegar datos durante más de 10 minutos, se inhabilita la previsión y la condición opera como una condición de umbral de métrica.

Los incidentes se crean cuando el pronóstico predice que una serie temporal incumplirá el umbral de la condición dentro del período de pronóstico. La supervisión cierra automáticamente el incidente cuando el pronóstico predice que las series temporales no incumplirá el umbral dentro del período de pronóstico.

Antes de comenzar

  1. Para obtener los permisos que necesitas para crear y modificar políticas de alertas con la consola de Google Cloud, pídele a tu administrador que te otorgue el rol de IAM de editor de Monitoring (roles/monitoring.editor) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

    Para obtener más información sobre los roles de Cloud Monitoring, consulta Controla el acceso con Identity and Access Management.

  2. Asegúrate de estar familiarizado con los conceptos generales de las políticas de alertas. Para obtener información sobre estos temas, consulta Descripción general de alertas.

  3. Configura los canales de notificaciones que deseas usar para recibir notificaciones. Para fines de redundancia, te recomendamos que crees varios tipos de canales de notificaciones. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones.

Crear política de alertas

Para crear una política de alertas que envíe una notificación según un pronóstico, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página  Alertas.

    Ir a las Alertas

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

  2. Selecciona Crear política.
  3. Selecciona las series temporales que deseas supervisar:

    1. Haz clic en Seleccionar una métrica, navega por los menús para seleccionar un tipo de recurso y una métrica, y, luego, haz clic en Aplicar.

      El menú Seleccionar una métrica contiene funciones que te ayudan a encontrar los tipos de métricas disponibles:

      • Para encontrar un tipo de métrica específico, usa la barra de filtros . Por ejemplo, si ingresas util, restringes el menú para que muestre entradas que incluyan util. Las entradas se muestran cuando pasan una prueba de "contiene" que no distingue mayúsculas de minúsculas.
      • Para mostrar todos los tipos de métricas, incluso las que no tienen datos, haz clic en Activas. De forma predeterminada, los menús solo muestran los tipos de métricas con datos. Para obtener más información, consulta La métrica no aparece en el menú.

      Puedes supervisar cualquier métrica integrada o cualquier tipo de métrica definida por el usuario que tenga un tipo de valor de doble o int64, que sea una métrica de restricción y que no sea una métrica para una instancia de VM de Amazon.

      Si seleccionas un tipo de métrica que genera la supervisión de más de 64 series temporales, la supervisión realiza pronósticos para las 64 series temporales cuyos valores están más cerca del umbral o que ya lo incumplen. Para otras series temporales, sus valores se comparan con el umbral.

    2. Opcional: Para supervisar un subconjunto de las series temporales que coincidan con las métricas y los tipos de recursos que seleccionaste en el paso anterior, haz clic en Agregar filtro. En el diálogo del filtro, selecciona la etiqueta por la que se filtrará, un comparador y, luego, el valor del filtro. Por ejemplo, el filtro zone =~ ^us.*.a$ usa una expresión regular para hacer coincidir todos los datos de series temporales cuyo nombre de zona comienza con us y termina con a. Para obtener más información, consulta Cómo filtrar las series temporales seleccionadas.

    3. Opcional: Para cambiar la forma en que los puntos de una serie temporal están alineados, en la sección Transforma datos, configura los campos Ventana móvil y Función de ventana móvil.

      Si supervisas una métrica basada en registros, te recomendamos que el menú Ventana continua esté configurado en al menos 10 minutos.

      Estos campos especifican cómo se combinan los puntos que se registran en una ventana. Por ejemplo, supongamos que la ventana es de 15 minutos y la función analítica es max. El punto alineado es el valor máximo de todos los puntos en los 15 minutos más recientes. Para obtener más información, consulta Alineación: regularización dentro de la serie.

      También puedes supervisar la velocidad a la que cambia un valor de métrica con el campo Función de ventana móvil para el porcentaje de cambio. Para obtener más información, consulta Cómo supervisar una tasa de cambio.

    4. Opcional: Combina series temporales cuando quieras reducir la cantidad de series temporales que supervisa una política o cuando quieras supervisar solo una colección de series temporales. Por ejemplo, en lugar de supervisar el uso de CPU de cada instancia de VM, te recomendamos que calcules el promedio del uso de CPU de todas las VMs de una zona y, luego, supervises ese promedio. De forma predeterminada, las series temporales no se combinan. Para obtener información general, consulta Reducción: Combinación de series temporales.

      Para combinar todas las series temporales, haz lo siguiente:

      1. En la sección Serie temporal, haz clic en Expandir.
      2. Establece el campo Agregación de series temporales en un valor distinto de none. Por ejemplo, para mostrar el valor promedio de la serie temporal, selecciona mean.
      3. Asegúrate de que el campo Agrupar por series temporales esté vacío.

      Para combinar o agrupar series temporales por valores de etiqueta, haz lo siguiente:

      1. En la sección Serie temporal, haz clic en Expandir.
      2. Establece el campo Agregación de series temporales en un valor distinto de none.
      3. En el campo Agrupar series temporales por, selecciona las etiquetas con las que deseas agruparlas.

      Por ejemplo, si agrupas por la etiqueta zone y, luego, configuras el campo de agregación en un valor de mean, el gráfico mostrará una serie temporal para cada zona para la que haya datos. La serie temporal que se muestra para una zona específica es el promedio de todas las series temporales con esa zona.

    5. Haz clic en Siguiente.

  4. Para configurar el activador de condiciones, sigue estos pasos:

    1. Selecciona Pronóstico para el tipo de condición.

    2. Opcional: Actualiza el menú Activador de alertas, que tiene los siguientes valores:

      • Cualquier serie temporal es una infracción: Es la configuración predeterminada. Cualquier serie temporal que incumpla el umbral o se prevea que lo incumpla durante todo el período de nueva prueba hace que se cumpla la condición.

      • El porcentaje de series temporales es una infracción: Un porcentaje de las series temporales debe incumplir el umbral o se debe pronosticar que incumplirá el umbral durante todo el período de nueva prueba antes de que se cumpla la condición. Por ejemplo, podrías recibir una notificación cuando el 50% de las series temporales supervisadas incumplan el umbral durante todo el período de nueva prueba.

      • La cantidad de series temporales es una infracción: Una cantidad específica de series temporales debe incumplir el umbral o se debe pronosticar que incumplirá el umbral durante todo el período de nueva prueba antes de que se cumpla la condición. Por ejemplo, podrías recibir una notificación cuando 32 de las series temporales supervisadas infrinjan el umbral durante todo el período de nueva prueba.

      • Todas las series temporales son una infracción: Todas las series temporales deben incumplir el umbral o se debe pronosticar que incumplirá el umbral durante todo el período de nueva prueba antes de que se cumpla la condición.

      Para obtener información sobre los intervalos que usa la supervisión para alinear y medir los datos de las series temporales, consulta Períodos de alineación y ventanas de nueva prueba.

    3. Selecciona un valor para la ventana de previsión. El valor que selecciones es la cantidad de tiempo en el futuro para la previsión. Debes establecer este valor en, al menos, 1 hora (3,600 segundos) y, como máximo, en 2.5 días (216,000 segundos).

    4. Ingresa cuándo el valor previsto de la métrica seleccionada incumple el umbral con los campos Posición del umbral y Valor del umbral. Por ejemplo, si estableces estos valores en Sobre el límite y 10, cualquier valor previsto superior a 10 incumple el límite.

    5. De manera opcional, expande Opciones avanzadas y establece el valor del Período de nueva prueba. El valor predeterminado de este campo es No retest.

      Te recomendamos que configures este campo en al menos 10 minutos.

      Por ejemplo, supongamos que configuras la condición de previsión de modo que cualquier serie temporal pueda hacer que se cumpla. Supongamos también que el período para volver a probar está configurado en 15 minutos, el período de previsión está configurado en 1 hora y se produce una infracción cuando el valor de la serie temporal es superior al umbral, que está configurado en 10. La condición se cumple si ocurre alguna de las siguientes situaciones:

      • Todos los valores de una serie temporal son superiores a 10 y se mantienen así durante al menos 15 minutos.
      • En un intervalo de 15 minutos, cada previsión de una serie temporal predice que su valor aumentará por encima del umbral de 10 en algún momento de la próxima hora.
    6. Opcional: Para especificar cómo Monitoring evalúa la condición cuando dejan de llegar datos, expande Opciones avanzadas y, luego, usa el menú Evaluación de datos faltantes.

      El menú Faltan datos de la evaluación está inhabilitado cuando el valor de Período para realizar una nueva prueba es No realizar una nueva prueba.

      Cuando faltan datos durante más de 10 minutos, una condición de pronóstico deja de realizar pronósticos y, en su lugar, usa el valor del campo Evaluation missing data para determinar cómo administrar los incidentes. Cuando se reinician las observaciones, también se reinician las previsiones.

      Consola de Google Cloud
      Campo "Evaluación de datos faltantes"
      Resumen Detalles
      Datos faltantes vacíos Los incidentes abiertos permanecen abiertos.
      No se abren incidentes nuevos.

      En el caso de las condiciones que se cumplen, estas se siguen cumpliendo cuando dejan de llegar datos. Si hay un incidente abierto para esta condición, este permanecerá abierto. Cuando un incidente está abierto y no llegan datos, el temporizador de cierre automático se inicia después de un retraso de al menos 15 minutos. Si vence el temporizador, el incidente se cerrará.

      En el caso de las condiciones que no se cumplen, la condición seguirá sin cumplirse cuando dejen de llegar datos.

      Los datos faltantes se tratan como valores que incumplen la condición de la política Los incidentes abiertos permanecen abiertos.
      Se pueden abrir incidentes nuevos.

      En el caso de las condiciones que se cumplen, estas se siguen cumpliendo cuando dejan de llegar datos. Si hay un incidente abierto para esta condición, este permanecerá abierto. Cuando un incidente está abierto y no llegan datos durante la duración del cierre automático más 24 horas, el incidente se cierra.

      Para las condiciones que no se cumplen, este parámetro de configuración hace que la condición de umbral de métrica se comporte como una metric-absence condition. Si los datos no llegan en el tiempo especificado por la ventana de nueva prueba, la condición se evalúa como cumplida. En el caso de una política de alertas con una condición, el cumplimiento de la condición genera la apertura de un incidente.

      Los datos faltantes se tratan como valores que no incumplen la condición de la política Los incidentes abiertos están cerrados.
      No se abren incidentes nuevos.

      En el caso de las condiciones que se cumplen, estas dejan de cumplirse cuando dejan de llegar los datos. Si hay un incidente abierto para esta condición, se cerrará.

      En el caso de las condiciones que no se cumplen, la condición seguirá sin cumplirse cuando dejen de llegar datos.

    7. Haz clic en Siguiente.

  5. Opcional: Crea una política de alertas con varias condiciones.

    La mayoría de las políticas supervisan un solo tipo de métrica. Por ejemplo, una política podría supervisar la cantidad de bytes escritos en una instancia de VM. Cuando desees supervisar varios tipos de métricas, crea una política con varias condiciones. Cada condición supervisa un tipo de métrica. Después de crear las condiciones, debes especificar cómo se combinan. Para obtener información, consulta Políticas con varias condiciones.

    Para crear una política de alertas con varias condiciones, haz lo siguiente:

    1. Para cada condición adicional, haz clic en Agregar condición de alerta y, luego, configura esa condición.
    2. Haz clic en Siguiente y configura cómo se combinan las condiciones.
    3. Haz clic en Siguiente para avanzar a la configuración de notificaciones y documentación.
  6. Configura las notificaciones:

    1. Expande el menú Notificaciones y nombre y selecciona tus canales de notificaciones. Para fines de redundancia, te recomendamos que agregues a una política de alertas varios tipos de canales de notificaciones. Para obtener más información, consulta Administra canales de notificaciones.

    2. Para recibir notificaciones cuando se cierre un incidente, selecciona Notificar cuando se cierre un incidente. De forma predeterminada, cuando creas una política de alertas con la consola de Google Cloud, solo se envía una notificación cuando se crea un incidente.

    3. Opcional: Para cambiar el tiempo que espera la supervisión antes de cerrar un incidente después de que dejan de llegar datos, selecciona una opción del menú Duración del cierre automático de incidentes. De forma predeterminada, cuando dejan de llegar datos, Monitoring espera siete días antes de cerrar un incidente abierto.

    4. Selecciona una opción del menú Nivel de gravedad de la política. Los incidentes y las notificaciones muestran el nivel de gravedad.

    5. Opcional: Para agregar etiquetas personalizadas a la política de alertas, en la sección Etiquetas de usuario de la política, haz lo siguiente:

      1. Haz clic en Agregar etiqueta y, en el campo Clave, ingresa un nombre para la etiqueta. Los nombres de las etiquetas deben comenzar con una letra minúscula y pueden contener letras en minúscula, números, guiones bajos y guiones. Por ejemplo, ingresa severity.
      2. Haz clic en Valor y, luego, ingresa un valor para tu etiqueta. Los valores de etiquetas pueden contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, ingresa critical.

      Si deseas obtener información para usar etiquetas de políticas que te ayuden a administrar tus notificaciones, consulta Cómo anotar incidentes con etiquetas.

  7. Opcional: En la sección Documentación, ingresa el contenido que quieras incluir con la notificación.

    Para dar formato a tu documentación, puedes usar texto sin formato, Markdown y variables. También puedes incluir vínculos para ayudar a los usuarios a depurar el incidente, como vínculos a manuales internos, paneles de Google Cloud y páginas externas. Por ejemplo, en la siguiente plantilla de documentación, se describe un incidente de uso de la CPU para un recurso gce_instance y se incluyen varias variables para hacer referencia a la política de alertas y a los recursos REST de la condición. Luego, la plantilla de documentación dirige a los lectores a páginas externas para ayudar con la depuración.

    Cuando se crean notificaciones, la supervisión reemplaza las variables de documentación por sus valores. Los valores reemplazan a las variables solo en las notificaciones. El panel de vista previa y otros lugares de la consola de Google Cloud solo muestran el formato de Markdown.

    Vista previa

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    Formato de la notificación

    Ejemplo de cómo se renderiza la documentación en una notificación.

    Para obtener más información, consulta Cómo anotar notificaciones con documentación definida por el usuario y Cómo usar los controles de canal.

  8. Haz clic en Nombre de la alerta y, luego, ingresa un nombre para la política de alertas.

  9. Haz clic en Crear política.

Cómo filtrar las series temporales seleccionadas

Los filtros garantizan que solo se supervisen las series temporales que cumplan con un conjunto de criterios. Cuando aplicas filtros, puedes reducir la cantidad de líneas en el gráfico, lo que puede mejorar su rendimiento. También puedes reducir la cantidad de datos que se supervisan aplicando la agregación. Los filtros garantizan que solo se usen series temporales que cumplan con un conjunto de criterios. Cuando aplicas filtros, hay menos series temporales para evaluar, lo que puede mejorar el rendimiento de la alerta.

Un filtro se compone de una etiqueta, un comparador y un valor. Por ejemplo, para hacer coincidir todas las series temporales cuya etiqueta zone comienza con "us-central1", puedes usar el filtro zone=~"us-central1.*", que usa una expresión regular para realizar la comparación.

Cuando filtras por el ID del proyecto o el contenedor de recursos, debes usar el operador de igualdad, (=). Cuando filtras por otras etiquetas, puedes usar cualquier comparador compatible. Por lo general, puedes filtrar etiquetas de métricas y recursos, y por grupo de recursos.

Cuando proporcionas varios criterios de filtrado, solo se supervisan las series temporales que cumplen con todos los criterios.

Para agregar un filtro, haz clic en Agregar filtro, completa el cuadro de diálogo y, luego, haz clic en Listo. En el cuadro de diálogo, usa el campo Filtro para seleccionar el criterio que deseas filtrar, selecciona el operador de comparación y, luego, selecciona el valor. En cada fila de la siguiente tabla, se muestra un operador de comparación, su significado y un ejemplo:

OperadorSignificadoEjemplo
= Igualdad resource.labels.zone = "us-central1-a"
!= Desigualdad resource.labels.zone != "us-central1-a"
=~ Igualdad de expresión regular 2 monitoring.regex.full_match("^us.*")
!=~ Desigualdad de expresión regular 2 monitoring.regex.full_match("^us.*")
starts_with El valor comienza con resource.labels.zone = starts_with("us")
ends_with El valor termina con resource.labels.zone = ends_with("b")
has_substring El valor contiene resource.labels.zone = has_substring("east")
one_of Uno de resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with El valor no comienza con resource.labels.zone != starts_with("us")
!ends_with El valor no termina con resource.labels.zone != ends_with("b")
!has_substring El valor no contiene resource.labels.zone != has_substring("east")
!one_of El valor no es uno de resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

Solucionar problemas

En esta sección, se proporcionan sugerencias para solucionar problemas.

La métrica no aparece en el menú de métricas disponibles

Para supervisar una métrica que no aparece en el menú Seleccionar una métrica, haz una de las siguientes acciones:

  • Para crear una política de alertas que supervise una métrica de Google Cloud, expande el menú Seleccionar una métrica y, luego, haz clic en Activa. Cuando se inhabilita, el menú muestra todas las métricas de los servicios de Google Cloud y todas las métricas con datos.

  • Para configurar una condición para un tipo de métrica personalizada antes de que ese tipo de métrica genere datos, debes especificar el tipo de métrica con un filtro de supervisión:

    1. Selecciona ?. en el encabezado de la sección Seleccionar métrica y, luego, selecciona Modo de filtro directo en la información sobre herramientas.
    2. Ingresa un filtro de supervisión o un selector de series temporales. Para obtener información sobre la sintaxis, consulta los siguientes documentos:

Supervisa una tasa de cambio

Para supervisar la tasa de cambio de un valor de métrica, configura el campo Función de ventana móvil en porcentaje de cambio. Cuando se evalúa la condición, Monitoring calcula la tasa de cambio de la métrica como un porcentaje y, luego, compara ese porcentaje con el umbral de la condición. Este proceso de comparación sigue dos pasos:

  1. Si la serie temporal tiene un tipo de métrica DELTA o CUMULATIVE, esta se convierte en una que tiene un tipo de métrica GAUGE. Para obtener información sobre la conversión, consulta Categorías, tipos y conversiones.
  2. La supervisión calcula el porcentaje de cambio comparando el valor promedio de la ventana deslizante de 10 minutos más reciente con el valor promedio de la ventana deslizante de 10 minutos anterior al comienzo del período de alineación.

No puedes cambiar la ventana deslizante de 10 minutos que se usa para las comparaciones en una política de alertas de cambio de frecuencia. Sin embargo, sí puedes especificar el período de alineación cuando creas la condición.

Restricciones

  • Puedes configurar la condición con la interfaz basada en menús de la console de Google Cloud o con los filtros de Monitoring. No puedes configurar la condición con el lenguaje de consulta de Monitoring ni con PromQL.
  • Se admiten todas las métricas que tengan un tipo de valor de doble o int64, excepto las de instancias de VM de Amazon.

¿Qué sigue?