Crea políticas de alertas sobre el valor de las métricas previstas

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 predice que se incumplirá el umbral dentro de la próxima ventana de previsión. Una previsión predice si una serie temporal infringirá o no un umbral dentro de una ventana de previsión, que es un período en el futuro. El período de previsión 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:

Acerca de las condiciones de previsión

Puedes usar la previsión cuando supervisas la mayoría de las métricas. Sin embargo, cuando supervisas un recurso restringido, como una cuota, espacio en disco o uso de memoria, una condición de previsión puede notificarte antes de que se infrinja el umbral. Esa capacidad te da más tiempo para responder a cómo se consume ese recurso restringido antes de que se infrinja el umbral.

Para cada serie temporal que supervisa una condición de previsión, la condición crea una instancia de un algoritmo de decisión. Una vez que se entrena el algoritmo, genera una previsión cada vez que se evalúa la condición. Cada previsión es una predicción de que su serie temporal incumplirá (o no) el umbral dentro del período de previsión. Si una serie temporal supervisada tiene una regularidad regular, el algoritmo de decisión para esa serie temporal incorpora el comportamiento periódico en sus previsiones.

Se cumple una condición de previsión cuando se produce una de las siguientes situaciones (o ambas):

  • Todos los valores de una serie temporal durante un período específico de repetición de la prueba infringen el umbral.
  • Todas las previsiones para una serie temporal específica que se realizan en un período de repetición de la prueba predicen que la serie temporal infringirá el umbral dentro del período de previsión.

El tiempo de entrenamiento inicial de un algoritmo de decisión es el doble de la duración de la ventana de previsión. Por ejemplo, si el período de previsión es de una hora, entonces, se requieren dos horas de tiempo de entrenamiento. El algoritmo de decisión de 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 infringen el umbral del período de nueva prueba especificado.

Una vez que se completa el entrenamiento inicial, cada algoritmo de decisión se entrena de forma continua con datos que abarcan hasta seis veces la duración del período 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, luego, los datos dejan de llegar durante más de 10 minutos, la previsión se inhabilita y la condición funciona como una condición de umbral de métrica.

Los incidentes se crean cuando la previsión predice que una serie temporal infringirá el umbral de la condición dentro del período de previsión. Monitoring cierra el incidente de forma automática cuando la previsión predice que las series temporales no infringirán el umbral dentro del período de previsión.

Antes de comenzar

  1. Si quieres obtener los permisos que necesitas para crear y modificar las 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.

    Es posible que también puedas obtener los permisos necesarios a través de funciones personalizadas o, también, otras funciones predefinidas.

    Para obtener más información sobre las funciones 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 las alertas.

  3. Configura los canales de notificación que deseas usar para recibir las notificaciones. Para fines de redundancia, recomendamos que crees varios tipos de canales de notificación. 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 basada en una previsión, haz lo siguiente:

  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 un tipo de métrica y, luego, haz clic en Aplicar.

      El menú Seleccionar una métrica (Select a metric) 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 de . Por ejemplo, si ingresas util, restringes el menú para que muestre entradas que incluyan util. Las entradas se muestran cuando pasan una prueba “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 Activa. De forma predeterminada, los menús solo muestran 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 no una métrica para una instancia de VM de Amazon.

      Si seleccionas un tipo de métrica que da como resultado la supervisión de más de 64 series temporales, Monitoring realiza previsiones para las 64 series temporales cuyos valores están más cerca del umbral o que ya infringen el umbral. Para otras series temporales, sus valores se comparan con el umbral.

    2. Opcional: Para supervisar un subconjunto de las series temporales que coincidan con los tipos de métricas y recursos que seleccionaste en el paso anterior, haz clic en Agregar filtro. En el diálogo de filtro, selecciona la etiqueta por la que deseas 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 Filtra las series temporales seleccionadas.

    3. Opcional: Para cambiar la alineación de los puntos en una serie temporal, en la sección Transformar datos, configura los campos Ventana progresiva y Función de ventana progresiva.

      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 el valor de una métrica con el campo función de ventana progresiva para porcentaje de cambio. Para obtener más información, consulta Supervisa una tasa de cambio.

    4. Opcional: Combina series temporales cuando desees reducir la cantidad de series temporales que supervisa una política o cuando desees supervisar solo una colección de series temporales. Por ejemplo, en lugar de supervisar el uso de CPU de cada instancia de VM, es posible que desees calcular el promedio del uso de CPU de todas las VM en una zona y, luego, supervisar 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 Across time series, haz clic en Expand.
      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 Series temporales agrupar por esté vacío.

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

      1. En la sección Across time series, haz clic en Expand.
      2. Establece el campo Agregación de series temporales en un valor distinto de none.
      3. En el campo Agrupar por en series temporales, selecciona las etiquetas por las que deseas agrupar.

      Por ejemplo, si agrupas por la etiqueta zone y, luego, estableces el campo de agregación en un valor de mean, el gráfico muestra una serie temporal para cada zona para la que hay 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. Configura el activador de la condición:

    1. Selecciona Previsión para el tipo de condición.

    2. Selecciona un valor para el menú Activador de alertas. Este menú te permite especificar el subconjunto de series temporales que debe infringir el umbral antes de que se cumpla la condición.

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

    4. Ingresa cuándo el valor previsto de la métrica seleccionada infringe el umbral mediante los campos Posición del umbral y Valor del umbral. Por ejemplo, si configuras estos valores en Above threshold y 10, cualquier valor previsto superior a 10 infringe el umbral.

    5. Opcional: Expande Opciones avanzadas y establece el valor de la ventana Volver a probar. El valor predeterminado de este campo es No retest. Te recomendamos que establezcas este campo en 10 minutos como mínimo.

      Por ejemplo, supongamos que configuras la condición de previsión de modo que cualquier serie temporal pueda hacer que se cumpla la condición. Además, supongamos que el período para volver a probar se establece en 15 minutos, que el período de previsión se establece en 1 hora y que se produce un incumplimiento cuando el valor de la serie temporal es superior al límite, establecido en 10. La condición se cumple si ocurre alguna de las siguientes situaciones:

      • Todos los valores de una serie temporal se vuelven superiores a 10 y permanecen allí durante al menos 15 minutos.
      • En un intervalo de 15 minutos, cada previsión de una serie temporal predice que su valor aumentará más allá 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 los datos dejan de llegar, expande Opciones avanzadas y, luego, usa el menú Evaluación datos faltantes.

      El menú Evaluation missing data se inhabilita cuando el valor de la ventana Volver a probar es No retest.

      Cuando faltan datos durante más de 10 minutos, una condición de previsión deja de realizar previsiones y, en su lugar, usa el valor del campo Evaluación que faltan datos para determinar cómo administrar incidentes. Cuando se reinician las observaciones, se reinicia la previsión.

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

      En el caso de las condiciones que se cumplen, la condición se sigue cumpliendo cuando los datos dejan de llegar. Si hay un incidente abierto para esta condición, el incidente permanece abierto. Cuando hay un incidente abierto y no llegan datos, el temporizador de cierre automático comienza después de un retraso de al menos 15 minutos. Si el temporizador expira, se cierra el incidente.

      En el caso de las condiciones que no se cumplen, la condición sigue sin cumplirse cuando los datos dejan de llegar.

      Datos faltantes que se consideran 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, la condición se sigue cumpliendo cuando los datos dejan de llegar. Si hay un incidente abierto para esta condición, el incidente permanece abierto. Cuando un incidente está abierto y no llegan datos durante el período del cierre automático más de 24 horas, se cierra el incidente.

      En el caso de las condiciones que no se cumplen, esta configuración hace que la condición de umbral de métrica se comporte como metric-absence condition. Si los datos no llegan en el tiempo que se especifica en el período para volver a probar, la condición se evalúa como cumplida. En el caso de una política de alertas con una condición, la condición que se cumple da como resultado la apertura de un incidente.

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

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

      En el caso de las condiciones que no se cumplen, la condición sigue sin cumplirse cuando los datos dejan de llegar.

    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 puede 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, especificas cómo se combinan. Para obtener más 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 Next 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 notificación. Para obtener más información, consulta Cómo administrar canales de notificaciones.

    2. Opcional: Para recibir una notificación cuando se cierre un incidente, selecciona Notificar sobre el cierre del 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 Monitoring espera antes de cerrar un incidente después de que los datos dejan de llegar, selecciona una opción del menú Duración del cierre automático de incidentes. De forma predeterminada, cuando los datos dejan de llegar, 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 minúsculas, 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 quieres obtener información sobre cómo puedes usar las etiquetas de política para administrar tus notificaciones, consulta Anota incidentes con etiquetas.

  7. Opcional: En la sección Documentation, ingresa cualquier contenido que desees incluir en 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 guías internas, paneles de Google Cloud y páginas externas. Por ejemplo, en la siguiente plantilla de documentación, se describe un incidente de uso de CPU para un recurso gce_instance y se incluyen varias variables para hacer referencia a la política de alertas y condicionar los recursos REST. Luego, la plantilla de documentación dirige a los lectores a páginas externas para que ayuden con la depuración.

    Cuando se crean notificaciones, Monitoring reemplaza las variables de documentación por sus valores. Los valores reemplazan 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 las notificaciones

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

    Para obtener más información, consulta Cómo agregar anotaciones a las notificaciones con la 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.

Filtra las series temporales seleccionadas

Los filtros garantizan que solo se supervisen las series temporales que cumplen con algún conjunto de criterios. Cuando aplicas filtros, puedes reducir la cantidad de líneas en el gráfico, lo que puede mejorar el rendimiento del gráfico. También puedes reducir la cantidad de datos que se supervisan si aplicas 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 consta de una etiqueta, un comparador y un valor. Por ejemplo, para coincidir con 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 igual, (=). 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 Filtrar para seleccionar el criterio por el que filtrar, selecciona el operador de comparación y, luego, elige 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 incluyen 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ú Selecciona una métrica, realiza 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 está inhabilitado, el menú enumera todas las métricas de los servicios de Google Cloud y todas las métricas con datos.

  • Si deseas 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 Monitoring:

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

Supervisar una tasa de cambio

Para supervisar la tasa de cambio de un valor de métrica, configura el campo Rolling window function (función de ventana progresiva) en percent change (cambio porcentual). 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 una clase de métrica DELTA o CUMULATIVE, la serie temporal se convierte en una que tiene una clase de métrica GAUGE. Para obtener información sobre la conversión, consulta Tipos, tipos y conversiones.
  2. Monitoring calcula el porcentaje modificado mediante la comparación del valor promedio en la ventana variable de 10 minutos más reciente con el valor promedio de la ventana variable de 10 minutos antes del comienzo del período de alineación.

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

Restricciones

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

¿Qué sigue?