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 del próximo período de previsión. Una previsión predice si una serie temporal incumplirá o no un umbral dentro de una ventana de previsión, que es un período en el futuro. La ventana 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 Supervisar tus registros.

En este documento, no se describe lo siguiente:

Acerca de las condiciones de previsión

Puedes usar la previsión cuando supervises la mayoría de las métricas. Sin embargo, cuando supervisas un recurso restringido, como una cuota, el espacio en el disco o el uso de memoria, es posible que una condición de previsión te notifique antes de que se incumpla el umbral. Esa función 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. Después de que se entrena ese 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 recurrencia 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 de duración específico infringen el umbral.
  • Todas las previsiones para una serie temporal específica que se realizan en un período de duración predicen que la serie temporal incumplirá el umbral dentro del período de previsión.

El tiempo de entrenamiento inicial para un algoritmo de decisión es el doble de la duración del período 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, sus series temporales cumplen con la condición solo cuando los valores de las series temporales infringen el umbral del período de duración especificado.

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 del período de previsión. Por ejemplo, cuando el período de previsión es de una hora, se usan las seis horas de datos más recientes 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.

La forma en que se crean y administran los incidentes para las alertas de previsión es la misma que para las condiciones de umbral y ausencia de métrica. Los incidentes se cierran 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 Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

    Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

    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 alertas.

  3. Configura los canales de notificaciones que deseas usar para recibir alertas. Para fines de redundancia, te 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 el panel de navegación de la consola de Google Cloud, elige Monitoring y, luego,  Alertas:

    Ir a las Alertas

  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 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 mostrar 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 los que no tienen datos, haz clic en Activa. De forma predeterminada, los menús solo muestran los tipos de métricas con datos. Para obtener más información, consulta Métrica que 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 doble o int64, que es una métrica de restricción y no es una métrica de una instancia de VM de Amazon.

      Si seleccionas un tipo de métrica que da como resultado que se supervisen 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 coincide 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 quieres 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 cómo se alinean los puntos de una serie temporal, en la sección Transforma 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 en cambio porcentual. Para obtener más información, consulta Cómo supervisar una frecuencia de cambio.

    4. Opcional: Combina series temporales cuando desees reducir la cantidad de series temporales supervisadas por 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 de una zona y, luego, supervisar ese promedio. De forma predeterminada, las series temporales no se combinan. Para obtener información general, consulta Reducción: combina series temporales.

      Para combinar todas las series temporales, haz lo siguiente:

      1. En la sección En todas las series temporales, 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 las series temporales, selecciona mean.
      3. Asegúrate de que el campo Agrupar por de series temporales esté vacío.

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

      1. En la sección En todas las series temporales, haz clic en Expandir.
      2. Establece el campo Agregación de series temporales en un valor distinto de none.
      3. En el campo Agrupar por de la serie temporal, 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 mostrará una serie temporal para cada zona de 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 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 deben infringir el umbral antes de que se cumpla la condición.

    3. Selecciona un valor para la ventana de previsión. El valor que seleccionas 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 en un máximo de 2.5 días (216,000 segundos).

    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 Por encima del umbral y 10, cualquier valor previsto superior a 10 infringe el umbral.

    5. Opcional: Expande Opciones avanzadas y configura el valor de Volver a probar la ventana. El valor predeterminado de este campo es No retest. Te recomendamos que establezcas 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 la condición. Supongamos también que la ventana para volver a probar está configurada en 15 minutos, la ventana Previsión se establece en 1 hora y se produce un incumplimiento cuando el valor de la serie temporal es superior al Umbral, que se establece en 10. La condición se cumple si se produce alguna de las siguientes situaciones:

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

      El menú Faltan datos de la evaluación se inhabilita cuando el valor de la ventana Retest es No retest.

      Cuando faltan datos durante más de 10 minutos, una condición de previsión deja de generar previsiones y, en su lugar, usa el valor del campo Faltan datos de la evaluación para determinar cómo administrar los incidentes. Cuando se reinician las observaciones, también 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.

      Para las condiciones que se cumplen, la condición se sigue cumpliendo cuando dejan de llegar los 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 comienza después de una demora de al menos 15 minutos. Si se agota el temporizador, se cierra el incidente.

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

      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.

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

      En el caso de 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 en el período para volver a probar, se evalúa la condición como que se cumple. En el caso de una política de alertas con una condición, la condición que se cumple hace que se abra 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, entonces se cierra.

      En el caso de las condiciones que no se cumplen, la condición sigue sin cumplirse cuando dejan de llegar los 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 quieras 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, especifica 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, configúrala.
    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 las notificaciones y la 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 cierre de 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 Monitoring antes de cerrar un incidente después de que dejan de llegar los 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 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 las etiquetas pueden contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, ingresa critical.

      Si deseas obtener información sobre cómo usar etiquetas de política para administrar tus alertas, consulta Anota alertas con etiquetas.

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

    Para darle 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, además, se incluyen varias variables que hacen referencia a la política de alertas y a los recursos de REST de 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 las notificaciones, Monitoring reemplaza las variables de la documentación con sus valores. Los valores reemplazan las variables solo en las notificaciones. En el panel de vista previa y en otros lugares de la consola de Google Cloud, solo se muestra 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 procesa la documentación en una notificación.

    Para obtener más información, consulta Anota alertas con documentación definida por el usuario y Usa controles de canales.

  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.

Filtrar las series temporales seleccionadas

Los filtros garantizan que solo se supervisen las series temporales que cumplen 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 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 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 igual, (=). Cuando filtras por otras etiquetas, puedes usar cualquier comparador admitido. Por lo general, puedes filtrar etiquetas de métricas y recursos 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 (Filter) para seleccionar el criterio por el que se filtrarán, seleccionar el operador de comparación y, luego, 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 se inhabilita, 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 mediante 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:

Supervisa una tasa de cambio

Para supervisar la tasa de cambio de un valor de métrica, configura el campo Función de ventana progresiva en cambio porcentual y, luego, Monitoring comparará la tasa de cambio de la métrica con el umbral. Cuando seleccionas la función percent change, Monitoring hace lo siguiente:

  1. Si la serie temporal tiene un tipo de métrica DELTA o CUMULATIVE, la serie temporal se convierte en una que tiene un tipo de métrica GAUGE. Para obtener información sobre la conversión, consulta Tipos, tipos y conversiones.
  2. Calcula el porcentaje modificado mediante la comparación del valor promedio en el período de 10 minutos más reciente con el valor promedio del período de 10 minutos antes del período para volver a probar.

La ventana de visualización de 10 minutos es un valor fijo y no se puede cambiar. Sin embargo, sí especificas el período para volver a probar cuando creas una 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 doble o int64, excepto las de instancias de VM de Amazon.

¿Qué sigue?