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 una serie temporal monitorizada no tenga datos durante un periodo específico.
Las condiciones de ausencia de métricas requieren al menos una medición correcta (una que recupere datos) en el periodo máximo de tiempo tras la instalación o modificación de la política. Este periodo se denomina tiempo de ausencia del activador. El tiempo máximo de ausencia de activador configurable es de 23,5 horas.
Por ejemplo, supongamos que define el tiempo de ausencia del activador en una política metric-absence en 30 minutos. La condición no se cumplirá si el subsistema que escribe datos de métricas nunca ha escrito un punto de datos. El subsistema debe generar al menos un punto de datos y, a continuación, no generar más puntos de datos durante 30 minutos.
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:
- Cómo recibir notificaciones cuando los valores de una métrica superen o no alcancen un umbral. Para obtener más información, consulta Crear políticas de alertas de umbral de métricas.
- Cómo recibir notificaciones en función del valor previsto de una métrica. Para obtener más información, consulta el artículo Crear políticas de alertas de valores de métricas previstos.
Cómo crear una política de alertas mediante la API de Cloud Monitoring. Para obtener más información, consulta el artículo Crear políticas de alertas mediante la API.
Cómo crear una política de alertas cuya condición incluya una consulta de Monitoring Query Language (MQL). Estas políticas pueden usar un umbral estático o dinámico. Para obtener más información, consulte los documentos siguientes:
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.
Antes de empezar
-
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.
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.
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 notificaciones cuando una serie temporal monitorizada no tenga datos durante un tiempo de ausencia de activador específico, haz lo siguiente:
-
En la Google Cloud consola, ve a la página notifications Alertas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
- 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.
- Selecciona Crear política.
Seleccione la serie temporal que quiera monitorizar:
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
filter_list barra de filtros.
Por ejemplo, si introduces
util
, el menú solo mostrará las entradas que incluyanutil
. Las entradas se muestran cuando superan una prueba "contiene" que no distingue entre mayúsculas y minúsculas.
Puedes monitorizar cualquier métrica integrada o cualquier métrica definida por el usuario.
- Para encontrar un tipo de métrica específico, usa la
filter_list barra de filtros.
Por ejemplo, si introduces
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 porus
y termine pora
. Para obtener más información, consulta cómo filtrar las series temporales seleccionadas.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.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:
- En la sección A lo largo de la serie temporal, haz clic en expand_more Mostrar más.
- Asigna al campo Agregación de serie temporal un valor distinto de
none
. Por ejemplo, para mostrar el valor medio de la serie temporal, seleccionemean
. - 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:
- En la sección A lo largo de la serie temporal, haz clic en expand_more Mostrar más.
- Asigna al campo Agregación de serie temporal un valor distinto de
none
. - 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 valormean
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.Haz clic en Siguiente.
Configura el activador de condición:
Seleccione Ausencia de métrica como tipo de condición.
Opcional: Actualiza el menú Activador de alerta, que tiene los siguientes valores:
Cualquier serie temporal infringe: es el ajuste predeterminado. Cualquier serie temporal con datos ausentes durante todo el tiempo de ausencia del activador provoca que se cumpla la condición.
Porcentaje de series temporales que incumplen la condición: un porcentaje de series temporales debe tener datos ausentes durante todo el tiempo de ausencia del activador para que se cumpla la condición. Por ejemplo, puedes recibir una notificación cuando el 50% de las series temporales monitorizadas no tengan datos durante todo el tiempo de ausencia del activador.
Número de series temporales que incumplen la condición: un número específico de series temporales debe no tener datos durante todo el tiempo de ausencia del activador para que se cumpla la condición. Por ejemplo, puedes recibir una notificación cuando 32 de las series temporales monitorizadas no tengan datos durante todo el tiempo de ausencia del activador.
Todas las series temporales infringen: todas las series temporales deben tener datos ausentes durante todo el tiempo de ausencia del activador 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.
Especifica cuánto tiempo deben faltar los datos de la métrica antes de que Monitoring te envíe una notificación mediante el campo Tiempo de ausencia del activador.
Haz clic en Siguiente.
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:
- Por cada condición adicional, haga clic en Añadir condición de alerta y, a continuación, configure esa condición.
- Haga clic en Siguiente y configure cómo se combinan las condiciones.
- Haz clic en Siguiente para ir a la configuración de las notificaciones y la documentación.
Configura la notificación y añade etiquetas de usuario:
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.
Opcional: Para usar un asunto personalizado en la notificación en lugar del predeterminado, actualice el campo Asunto de la notificación.
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
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.
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.
Opcional: Selecciona una opción del menú Nivel de gravedad de la política. Los incidentes y las notificaciones muestran el nivel de gravedad.
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:
- 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
. - 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.
- 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
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
Para obtener más información, consulta Anotar notificaciones con documentación definida por el usuario y Usar controles de canal.
Haz clic en Nombre de la alerta y escribe el que quieras asignar a la política de alertas.
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:
Operador | Significado | Ejemplo |
---|---|---|
= |
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") |