Crear políticas de alertas de valores de 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 prediga que se superará el umbral en el periodo de previsión. Una previsión predice si una serie temporal superará un umbral en un periodo de previsión, que es un periodo futuro. El periodo de previsión puede oscilar entre 1 hora (3600 segundos) y 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 avisan cuando aparece un mensaje concreto en tus registros, consulta el artículo Monitorizar tus registros.

En este documento no se describe lo siguiente:

Esta función solo se admite en proyectos de Google Cloud . En el caso de las configuraciones de App Hub, seleccione el proyecto host de App Hub o el proyecto de gestión de la carpeta habilitada para aplicaciones.

Acerca de las condiciones de previsión

Puedes usar las previsiones al monitorizar la mayoría de las métricas. Sin embargo, cuando monitorizas un recurso limitado, como la cuota, el espacio en disco o el uso de memoria, una condición de previsión puede avisarte antes de que se supere el umbral. Esta función te da más tiempo para responder a cómo se está consumiendo ese recurso restringido antes de que se supere el umbral.

Por cada serie temporal que monitoriza una condición de previsión, la condición instancia un algoritmo de decisión. Una vez entrenado el algoritmo, genera una previsión cada vez que se evalúa la condición. Cada previsión es una predicción de si su serie temporal superará o no el umbral en el periodo de previsión. Si una serie temporal monitorizada tiene una periodicidad regular, el algoritmo de decisión de esa serie temporal incorpora el comportamiento periódico a sus previsiones.

Una condición de previsión se cumple cuando se da una de las siguientes situaciones o ambas:

  • Todos los valores de una serie temporal durante un periodo de repetición de la prueba específico superan el umbral.
  • Todas las previsiones de una serie temporal específica que se hacen en una ventana de repetición de pruebas predicen que la serie temporal superará el umbral en la ventana de previsión.

El tiempo de entrenamiento inicial de un algoritmo de decisión es el doble de la duración del periodo de previsión. Por ejemplo, si la ventana de previsión es de una hora, se necesitan 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 la condición solo cuando los valores de la serie temporal superan el umbral de la ventana de repetición de la prueba especificada.

Una vez completado el entrenamiento inicial, cada algoritmo de decisión se entrena continuamente con datos que abarcan hasta seis veces la duración del periodo de previsión. Por ejemplo, si la ventana de previsión es de una hora, se utilizan los datos de las últimas seis horas durante el entrenamiento continuo.

Cuando configura una condición de previsión y, después, 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 en la ventana de previsión. Monitoring cierra automáticamente el incidente cuando la previsión indica que la serie temporal no superará el umbral en el periodo de previsión.

Antes de empezar

  1. Para obtener los permisos que necesitas para crear y modificar políticas de alertas mediante la consola, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Google Cloud Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

    Para obtener más información sobre los roles de Cloud Monitoring, consulta Controlar el acceso con Gestión de Identidades y Accesos.

  2. Familiarízate con los conceptos generales de las políticas de alertas. Para obtener información sobre estos temas, consulta el artículo Descripción general de las alertas.

  3. Configura los canales de notificación que quieras usar para recibir notificaciones. Por motivos de redundancia, te recomendamos que crees varios tipos de canales de notificación. Para obtener más información, consulta cómo crear y gestionar canales de notificación.

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 Google Cloud consola, ve a la página  Alertas:

    Ve a Alertas.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. En la barra de herramientas de la Google Cloud consola, selecciona tu Google Cloud proyecto. En el caso de las configuraciones de App Hub, seleccione el proyecto host de App Hub o el proyecto de gestión de la carpeta habilitada para aplicaciones.
  3. Selecciona Crear política.
  4. Seleccione la serie temporal que quiera monitorizar:

    1. Haga clic en Seleccionar una métrica, desplácese por los menús para seleccionar un tipo de recurso y un tipo de métrica y, a continuación, haga clic en Aplicar.

      El menú Seleccionar una métrica contiene funciones que le 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 introduces util, el menú solo mostrará las entradas que incluyan util. Las entradas se muestran cuando superan una prueba "contiene" que no distingue entre mayúsculas y minúsculas.
      • Para mostrar todos los tipos de métricas, incluso los que no tienen datos, haga 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ú.

      Puede monitorizar cualquier métrica integrada o cualquier tipo de métrica definida por el usuario que tenga un tipo de valor double o int64, que sea una métrica de restricción y que no sea una métrica de una instancia de máquina virtual de Amazon.

      Si selecciona un tipo de métrica que da como resultado más de 64 series temporales monitorizadas, Monitoring hará previsiones para las 64 series temporales cuyos valores sean los más cercanos al umbral o que ya lo superen. En el caso de otras series temporales, sus valores se comparan con el umbral.

    2. Opcional: Para monitorizar un subconjunto de las series temporales que coincidan con los tipos de métrica y de recurso que hayas seleccionado en el paso anterior, haz clic en Añadir filtro. En el cuadro de diálogo del filtro, seleccione la etiqueta por la que quiere filtrar, un comparador y, a continuación, el valor del filtro. Por ejemplo, el filtro zone =~ ^us.*.a$ usa una expresión regular para buscar todos los datos de serie temporal cuyo nombre de zona empiece por us y termine por a. Para obtener más información, consulta cómo filtrar las series temporales seleccionadas.

    3. Opcional: Para cambiar la forma en que se alinean los puntos de una serie temporal, en la sección Transformar datos, define los campos Ventana de tiempo y Función de ventana de tiempo.

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

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

      También puedes monitorizar la velocidad a la que cambia el valor de una métrica. Para ello, usa el campo Función de ventana de tiempo para cambio porcentual. Para obtener más información, consulta Monitorizar una tasa de cambio.

    4. Opcional: Combina series temporales si quieres reducir el número de series temporales que monitoriza una política o si quieres monitorizar solo un conjunto de series temporales. Por ejemplo, en lugar de monitorizar el uso de la CPU de cada instancia de VM, puede calcular la media del uso de la CPU de todas las VMs de una zona y, a continuación, monitorizar esa media. De forma predeterminada, las series temporales no se combinan. Para obtener información general, consulta Reducción: combinar series temporales.

      Para combinar todas las series temporales, haz lo siguiente:

      1. En la sección A lo largo de la serie temporal, haz clic en Mostrar más.
      2. Asigna al campo Agregación de serie temporal un valor distinto de none. Por ejemplo, para mostrar el valor medio de la serie temporal, seleccione mean.
      3. Asegúrate de que el campo Agrupar por serie temporal esté vacío.

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

      1. En la sección A lo largo de la serie temporal, haz clic en Mostrar más.
      2. Asigna al campo Agregación de serie temporal un valor distinto de none.
      3. En el campo Agrupar por serie temporal, selecciona las etiquetas por las que quieras agrupar.

      Por ejemplo, si agrupa por la etiqueta zone y, a continuación, asigna el valor mean al campo de agregación, el gráfico mostrará una serie temporal por cada zona de la que haya datos. La serie temporal que se muestra de una zona específica es la media de todas las series temporales de esa zona.

    5. Haz clic en Siguiente.

  5. Configura el activador de condición:

    1. Selecciona Previsión como tipo de condición.

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

      • Cualquier serie temporal infringe: es el ajuste predeterminado. Cualquier serie temporal que supere el umbral o que se prevea que lo supere durante toda la ventana de repetición de la prueba hará que se cumpla la condición.

      • Porcentaje de series temporales que incumplen el umbral: un porcentaje de series temporales debe incumplir el umbral o se debe predecir que lo incumplirá durante toda la ventana de repetición de la prueba para que se cumpla la condición. Por ejemplo, puedes recibir una notificación cuando el 50% de las series temporales monitorizadas superen el umbral durante todo el periodo de repetición de la prueba.

      • Número de series temporales que incumplen el umbral: un número específico de series temporales debe incumplir el umbral o se debe predecir que lo incumplirá durante toda la ventana de repetición de la prueba para que se cumpla la condición. Por ejemplo, puedes recibir una notificación cuando 32 de las series temporales monitorizadas superen el umbral durante toda la ventana de repetición de la prueba.

      • Todas las series temporales infringen el umbral: todas las series temporales deben infringir el umbral o se debe predecir que lo infringirán durante todo el periodo de repetición de la prueba para que se cumpla la condición.

      Para obtener información sobre los intervalos que usa Monitoring para alinear y medir los datos de series temporales, consulta Periodos de alineación y ventanas de repetición de pruebas.

    3. Selecciona un valor para Ventana de previsión. El valor que seleccione será el periodo de tiempo futuro de la previsión. Debes definir este valor en un mínimo de 1 hora (3600 segundos) y un máximo de 2,5 días (216.000 segundos).

    4. Indique cuándo infringe el umbral el valor previsto de la métrica seleccionada mediante los campos Posición del umbral y Valor del umbral. Por ejemplo, si asignas los valores Por encima del umbral y 10, cualquier valor previsto superior a 10 incumplirá el umbral.

    5. Opcional: Despliega Opciones avanzadas y define el valor de Ventana de repetición de la prueba. El valor predeterminado de este campo es No volver a probar.

      Te recomendamos que asignes a este campo un valor de al menos 10 minutos.

      Por ejemplo, supongamos que configura la condición de previsión de forma que cualquier serie temporal pueda hacer que se cumpla la condición. Supongamos también que la ventana de repetición de la prueba es de 15 minutos, la ventana de previsión es de 1 hora y se produce una infracción cuando el valor de la serie temporal es superior al umbral, que es de 10. La condición se cumple si se da alguna de las siguientes situaciones:

      • Todos los valores de una serie temporal superan el valor 10 y se mantienen por encima de ese valor durante al menos 15 minutos.
      • En un intervalo de 15 minutos, cada previsión de una serie temporal predice que su valor superará el umbral de 10 en algún momento de la hora siguiente.
    6. Opcional: Para especificar cómo evalúa Monitoring la condición cuando dejan de llegar datos, despliega Opciones avanzadas y, a continuación, usa el menú Evaluación de datos que faltan.

      El menú Faltan datos de evaluación está inhabilitado cuando el valor de Ventana de repetición de la prueba es Sin repetición de la prueba.

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

      Google Cloud console
      Campo "Evaluación de datos que faltan"
      Resumen Detalles
      Faltan datos (vacío) 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, permanecerá abierto. Cuando se abre un incidente y no llegan datos, el temporizador de cierre automático se inicia tras una demora de al menos 15 minutos. Si el temporizador caduca, la incidencia se cierra.

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

      Los puntos de datos que faltan se tratan como valores que infringen 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, permanecerá abierto. Cuando un incidente está abierto y no llegan datos durante el periodo de cierre automático más 24 horas, el incidente se cierra.

      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 un metric-absence condition. Si los datos no llegan en el plazo especificado en el periodo de repetición de la prueba, se considera que se cumple la condición. En el caso de una política de alertas con una condición, si se cumple la condición, se abre un incidente.

      Los puntos de datos que faltan se tratan como valores que no infringen la condición de la política Los incidentes abiertos se cierran.
      No se abren incidentes nuevos.

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

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

    7. Haz clic en Siguiente.

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

    La mayoría de las políticas monitorizan un solo tipo de métrica. Por ejemplo, una política puede monitorizar el número de bytes escritos en una instancia de máquina virtual. Si quieres monitorizar varios tipos de métricas, crea una política con varias condiciones. Cada condición monitoriza 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. Por cada condición adicional, haga clic en Añadir condición de alerta y, a continuación, configure esa condición.
    2. Haga clic en Siguiente y configure cómo se combinan las condiciones.
    3. Haz clic en Siguiente para ir a la configuración de las notificaciones y la documentación.
  7. Configura la notificación y añade etiquetas de usuario:

    1. Despliega el menú Notificaciones y nombre y selecciona los canales de notificación. Por motivos de redundancia, te recomendamos que añadas varios tipos de canales de notificación a una política de alertas. Para obtener más información, consulta el artículo Gestionar canales de notificación.

    2. Opcional: Para usar un asunto personalizado en la notificación en lugar del predeterminado, actualice el campo Asunto de la notificación.

    3. Opcional: Para recibir una notificación 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, se envía una notificación solo cuando se crea un incidente. Google Cloud

    4. Opcional: Para cambiar el tiempo que espera Monitoring antes de cerrar un incidente después de que dejen de llegar datos, seleccione una opción en el 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.

    5. Opcional: Para asociar tu política de alertas con una aplicación de App Hub, en la sección Etiquetas de aplicación, selecciona una aplicación y un servicio o una carga de trabajo. Los incidentes y las notificaciones muestran estas etiquetas.

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

    7. Opcional: Para añadir 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 Añadir etiqueta y, en el campo Clave, escribe un nombre para la etiqueta. Los nombres de las etiquetas deben empezar por una letra en minúscula y pueden contener letras en minúscula, números, guiones bajos y guiones. Por ejemplo, escribe severity.
      2. Haz clic en Valor e introduce un valor para la etiqueta. Los valores de etiqueta pueden contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, escribe critical.

      Para obtener información sobre cómo usar las etiquetas de políticas para gestionar las notificaciones, consulte Añadir etiquetas a los incidentes.

  8. Opcional: En la sección Documentación, introduce el contenido que quieras incluir en la notificación.

    Para dar formato a la documentación, puedes usar texto sin formato, Markdown y variables. También puedes incluir enlaces para ayudar a los usuarios a depurar el incidente, como enlaces a manuales internos, Google Cloud paneles de control y páginas externas. Por ejemplo, la siguiente plantilla de documentación describe un incidente de utilización de CPU de un recurso gce_instance e incluye varias variables para hacer referencia a los recursos REST de la política y la condición de alerta. La plantilla de documentación dirige a los lectores a páginas externas para ayudarles con la depuración.

    Cuando se crean notificaciones, Monitoring sustituye las variables de la documentación por sus valores. Los valores solo sustituyen a las variables en las notificaciones. El panel de vista previa y otras partes de la Google Cloud consola solo muestran el formato 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 muestra la documentación en una notificación.

    Para obtener más información, consulta Anotar notificaciones con documentación definida por el usuario y Usar controles de canal.

  9. Haz clic en Nombre de la alerta y escribe el que quieras asignar a la política de alertas.

  10. Haz clic en Crear política.

Filtrar la serie temporal seleccionada

Los filtros aseguran que solo se monitoricen las series temporales que cumplan un conjunto de criterios. Al aplicar filtros, puedes reducir el número de líneas del gráfico, lo que puede mejorar su rendimiento. También puede reducir la cantidad de datos que se monitorizan aplicando la agregación. Los filtros aseguran que solo se usen las series temporales que cumplan un conjunto de criterios. Cuando aplicas filtros, hay menos series temporales que 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 que coincidan todas las series temporales cuya etiqueta zone empiece por "us-central1", puedes usar el filtro zone=~"us-central1.*", que usa una expresión regular para hacer la comparación.

Cuando filtre por el ID de proyecto o el contenedor de recursos, debe usar el operador de igualdad, (=). Cuando filtras por otras etiquetas, puedes usar cualquier comparador admitido. Normalmente, puede filtrar etiquetas de métricas y recursos, así como por grupo de recursos.

Si proporciona varios criterios de filtrado, solo se monitorizarán las series temporales que cumplan todos los criterios.

Para añadir un filtro, haga clic en Añadir filtro, complete el cuadro de diálogo y, a continuación, haga clic en Hecho. En el cuadro de diálogo, use el campo Filtrar para seleccionar el criterio por el que quiere filtrar, elija el operador de comparación y, a continuación, seleccione o introduzca el valor. En el menú desplegable solo se muestran los valores que han aparecido durante la última semana, pero puedes introducir cualquier 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 empieza por resource.labels.zone = starts_with("us")
ends_with El valor termina por resource.labels.zone = ends_with("b")
has_substring El valor contiene resource.labels.zone = has_substring("east")
one_of Uno de los de resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with El valor no empieza por 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 monitorizar una métrica que no aparece en el menú Seleccionar una métrica, haga una de las siguientes acciones:

  • Para crear una política de alertas que monitorice una Google Cloud métrica, despliega el menú Seleccionar una métrica y, a continuación, haz clic en Activa. Si está inhabilitada, el menú muestra todas las métricas de los servicios deGoogle Cloud y todas las métricas con datos.

  • Para configurar una condición de un tipo de métrica personalizada antes de que genere datos, debe especificar el tipo de métrica mediante un filtro de monitorización:

    1. Selecciona ? en el encabezado de la sección Seleccionar métrica y, a continuación, selecciona Modo de filtro directo en la descripción emergente.
    2. Introduce un filtro de monitorización o un selector de serie temporal. Para obtener información sobre la sintaxis, consulta los siguientes documentos:

Monitorizar un ritmo de cambio

Para monitorizar la tasa de cambio de un valor de métrica, define el campo Función de ventana acumulada como Cambio porcentual. Cuando se evalúa la condición, Monitoring calcula la tasa de cambio de la métrica como un porcentaje y, a continuación, compara ese porcentaje con el umbral de la condición. Este proceso de comparación consta de dos pasos:

  1. Si la serie temporal tiene un tipo de métrica DELTA o CUMULATIVE, se convierte en una que tenga un tipo de métrica GAUGE. Para obtener información sobre la conversión, consulta Tipos y conversiones.
  2. Monitoring calcula el porcentaje de cambio comparando el valor medio de la ventana de 10 minutos más reciente con el valor medio de la ventana de 10 minutos anterior al inicio del periodo de alineación.

No puedes cambiar la ventana de 10 minutos que se usa para las comparaciones en una política de alertas de tasa de cambio. Sin embargo, sí que especificas el periodo de alineación al crear la condición.

Restricciones

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

Siguientes pasos