En esta página, se explica por qué algunas políticas de alertas pueden comportarse de manera diferente a lo previsto y se ofrecen posibles soluciones para esas situaciones.
Para obtener información sobre las variables que pueden afectar una política de alertas, por ejemplo, la elección del período de nueva prueba, consulta Comportamiento de las políticas de alertas basadas en métricas.
La política de utilización del disco crea incidentes inesperados
Creaste una política de alertas para supervisar la capacidad "usada" de los discos de tu sistema. Esta política supervisa la métrica agent.googleapis.com/disk/percent_used
.
Esperas recibir una notificación solo cuando la utilización de cualquier disco físico supere el umbral que estableciste en la condición. Sin embargo, esta política genera incidentes cuando el uso del disco de cada disco físico es inferior al umbral.
Una causa conocida de incidentes inesperados para estas políticas es que las condiciones no se restringen a la supervisión de discos físicos. En cambio, estas políticas supervisan todos los discos, incluidos los discos virtuales, como los dispositivos de bucle invertido. Si se construye un disco virtual de modo que su utilización sea del 100%, se creará un incidente para la política.
Por ejemplo, considera el siguiente resultado del comando df
de Linux, que muestra el espacio en disco disponible en los sistemas de archivos activados para un sistema:
$ df /dev/root 9983232 2337708 7629140 24% / devtmpfs 2524080 0 2524080 0% /dev tmpfs 2528080 0 2528080 0% /dev/shm ... /dev/sda15 106858 3934 102924 4% /boot/efi /dev/loop0 56704 56704 0 100% /snap/core18/1885 /dev/loop1 129536 129536 0 100% /snap/google-cloud-sdk/150 ...
Para este sistema, se debe configurar una política de alertas de utilización del disco para filtrar las series temporales de los dispositivos de bucle invertido /dev/loop0
y /dev/loop1
. Por ejemplo, puedes agregar el filtro device !=~ ^/dev/loop.*
, que excluye todas las series temporales cuya etiqueta device
no coincide con la expresión regular ^/dev/loop.*
.
Causas comunes de los incidentes anómalos
Creaste una política de alertas y parece que esta crea incidentes de forma prematura o incorrecta.
Existen diferentes motivos por los que podrías recibir notificaciones sobre incidentes que parecen ser incorrectos:
Si hay una brecha en los datos, en especial para las políticas de alertas con condiciones de límite de ausencia de métrica o “inferior a”, se puede crear un incidente que parezca anómalo. A veces, el incidente no muestra la brecha de datos y, otras veces, esta se corrige automáticamente:
Por ejemplo, en los gráficos, es posible que no aparezcan intervalos porque se interpolan los valores de los datos faltantes. Incluso cuando faltan varios minutos de datos, el gráfico conecta los puntos que faltan para la continuidad visual. Este intervalo en los datos subyacentes puede ser suficiente para que una política de alertas cree un incidente.
Los datos de las métricas basadas en registros pueden llegar tarde y reabastecerse, hasta 10 minutos antes. El comportamiento de relleno corrige de forma eficaz el intervalo y se completa cuando los datos finalmente llegan. Por lo tanto, un intervalo en una métrica basada en registros que ya no se puede ver podría haber provocado que una política de alertas creara un incidente.
Las condiciones de límite de ausencia de la métrica y las de "inferior a" se evalúan en tiempo real, con un pequeño retraso de consulta. El estado de la condición puede cambiar entre el momento en que se evalúa y el momento en que el incidente correspondiente es visible en Monitoring.
Las condiciones configuradas para crear un incidente en una sola métrica pueden generar incidentes que parezcan prematuros o incorrectos. Para evitar esta situación, verifica que se requieran varias mediciones antes de que se cree un incidente. Para ello, configura la ventana de nueva prueba de una condición para que sea más del doble de la frecuencia de muestreo de la métrica.
Por ejemplo, si una métrica se muestrea cada 60 segundos, establece el período de nueva prueba en al menos 3 minutos. Si configuras el período de nueva prueba como valor más reciente, o de manera equivalente, en 0 segundos, una sola medición puede provocar la creación de un incidente.
Cuando se edita la condición de una política de alertas, el cambio puede tardar varios minutos en propagarse por la infraestructura de alertas. Durante este período, es posible que recibas notificaciones de incidentes que cumplieron con las condiciones originales de la política de alertas.
Cuando llegan los datos de series temporales, pueden tardar hasta un minuto en propagarse por toda la infraestructura de alertas. Durante este proceso, es posible que una política de alertas evalúe que se cumple una condición, aunque los datos de la serie temporal no se hayan propagado al gráfico de series temporales. Como resultado, es posible que recibas una notificación aunque el gráfico no indique que se cumple la condición. Para reducir la posibilidad de que esto suceda, usa un período de alineación de al menos cinco minutos.
El cambio de nombre de la etiqueta del Centro de aplicaciones
metadata.system_labels.apphub_host_project_id
ametadata.system_labels.apphub_application_container
podría generar algunos incidentes nuevos y que no se cierren algunos incidentes abiertos.No es necesario que realices ninguna acción. Las alertas se cierran automáticamente cuando dejan de llegar datos, después de que vence la duración del cierre automático. Para obtener más información, consulta Datos de métricas parciales.
El incidente no se cierra cuando dejan de llegar los datos
Sigue las instrucciones en Datos de métricas parciales y configura una política de alertas para cerrar los incidentes cuando dejen de llegar datos. En algunos casos, los datos dejan de llegar, pero no se cierra automáticamente un incidente abierto.
Si el recurso subyacente que supervisa una política de alertas contiene la etiqueta metadata.system_labels.state
y si esa política no se escribió con el lenguaje de consultas de Monitoring, Monitoring puede determinar el estado del recurso. Si se sabe que el estado de un recurso está inhabilitado, Monitoring no cierra automáticamente los incidentes cuando dejan de llegar datos. Sin embargo, puedes cerrar estos incidentes de forma manual.
No se pueden ver los detalles del incidente debido a un error de permiso
Navega a la página de incidentes en la consola de Google Cloud y selecciona un incidente para verlo. Esperas que se abra la página de detalles. Sin embargo, no se abre la página de detalles y se muestra el mensaje "Permiso denegado".
Para ver todos los detalles de los incidentes, excepto los datos de métricas, verifica que tengas los roles de Identity and Access Management (IAM) de Visualizador de incidentes de la consola de Cloud Monitoring (roles/monitoring.cloudConsoleIncidentViewer
) y Visualizador de cuentas de Stackdriver (roles/stackdriver.accounts.viewer
).
Para ver todos los detalles de los incidentes, incluidos los datos de las métricas, y poder confirmar o cerrar incidentes, verifica que tengas los roles de IAM de Visualizador de Monitoring (roles/monitoring.viewer
) y Editor de incidentes de la consola de Cloud de Monitoring (roles/monitoring.cloudConsoleIncidentEditor
).
Las funciones personalizadas no pueden otorgar el permiso necesario para ver los detalles del incidente.
No se crea el incidente cuando se cumple la condición
Creaste una política de alertas que tiene una condición. El gráfico de la política de alertas muestra que los datos supervisados incumplen la condición, pero no recibiste una notificación y no se creó un incidente.
Si se cumple alguno de los siguientes criterios después de que se cumpla la condición de la política de alertas, Monitoring no abrirá el incidente.
- La política de alertas está pospuesta.
- La política de alertas está inhabilitada.
- La política de alertas alcanzó la cantidad máxima de incidentes que puede abrir de forma simultánea.
Se sabe que el estado del recurso que supervisa la política de alertas está inhabilitado. Monitoring puede determinar el estado de un recurso cuando este contiene la etiqueta
metadata.system_labels.state
y cuando la política de alertas no se escribe con el lenguaje de consultas de Monitoring.
La lista de detalles del incidente muestra el proyecto incorrecto
Recibes una notificación y el resumen de la condición enumera el proyectoGoogle Cloud en el que se creó el incidente, es decir, enumera el proyecto de alcance. Sin embargo, esperas que el incidente muestre el nombre del proyecto Google Cloud que almacena las series temporales que hicieron que Monitoring creara el incidente.
Las opciones de agregación especificadas en la condición de una política de alertas determinan el proyecto Google Cloud al que se hace referencia en una notificación:
Cuando las opciones de agregación eliminan la etiqueta que almacena el ID del proyecto, la información del incidente muestra el proyecto de alcance. Por ejemplo, si agrupas los datos solo por zona, después de agruparlos, se quitará la etiqueta que almacena el ID del proyecto.
Cuando las opciones de agregación conservan la etiqueta que almacena el ID del proyecto, las notificaciones de incidentes incluyen el nombre del proyecto Google Cloud que almacena la serie temporal que provoca el incidente. Para conservar la etiqueta del ID del proyecto, incluye la etiqueta
project_id
en el campo de agrupación o no agrupes las series temporales.
No se puede cerrar un incidente de forma manual
Recibiste una notificación de un incidente en tu sistema. Ve a la página de detalles del incidente y haz clic en Cerrar incidente. Esperas que se cierre el incidente, pero recibes el siguiente mensaje de error:
Unable to close incident with active conditions.
Solo puedes cerrar un incidente cuando no se reciben observaciones en el período de alerta más reciente. El período de alerta, que suele tener un valor predeterminado de 5 minutos, se define como parte de la condición de la política de alertas y se puede configurar. El mensaje de error anterior indica que se recibieron datos dentro del período de alerta.
El siguiente error ocurre cuando no se puede cerrar un incidente debido a un error interno:
Unable to close incident. Please try again in a few minutes.
Cuando veas el mensaje de error anterior, puedes volver a intentar la operación de cierre o dejar que la Supervisión cierre automáticamente el incidente.
Para obtener más información, consulta Administra incidentes.
La política con varias condiciones crea varias notificaciones
Creaste una política de alertas que contiene varias condiciones y las uniste con un AND
lógico. Esperas recibir una notificación y que se cree un incidente cuando se cumplan todas las condiciones. Sin embargo, recibes varias notificaciones y ves que se crean varios incidentes.
Monitoring envía una notificación y crea un incidente por cada serie temporal que hace que se cumpla una condición. Como resultado, cuando tienes políticas de alertas con varias condiciones, es posible que recibas una notificación y un incidente por cada serie temporal que haga que se cumplan las condiciones unidas.
Por ejemplo, tienes una política de alertas con dos condiciones, en la que cada condición supervisa 3 series temporales. La política envía una notificación solo cuando se cumplen ambas condiciones. Cuando se cumplan las condiciones de tu política, es posible que recibas entre 2 (se cumple una serie temporal en cada condición) y 6 (se cumplen todas las series temporales en cada condición) notificaciones e incidentes.
No puedes configurar Monitoring para que cree un solo incidente y envíe una sola notificación.
Para obtener más información, consulta Notificaciones por incidente.
La variable de una etiqueta de métrica es nula
Creas una política de alertas y agregas una variable para una etiqueta de métrica a la sección de documentación.
Esperas que las notificaciones muestren el valor de la variable; sin embargo, el valor se establece en null
.
Para resolver esta situación, realiza las siguientes acciones:
Verifica que la configuración de agregación de la política de alertas conserve la etiqueta que deseas mostrar.
Por ejemplo, supongamos que creas una política de alertas que supervisa los bytes de disco escritos por las instancias de VM. Quieres que la documentación muestre el dispositivo que causa la notificación, por lo que agregas al campo de documentación lo siguiente:
device: ${metric.label.device}
.También debes verificar que la configuración de agregación conserve el valor de la etiqueta
device
. Puedes conservar esta etiqueta si estableces la función de agregación ennone
o si verificas que las selecciones de agrupación incluyandevice
.Verifica la sintaxis y la aplicabilidad de la variable. Para obtener información sobre la sintaxis, consulta Cómo anotar notificaciones con documentación definida por el usuario.
Por ejemplo, la variable
log.extracted_label.KEY
solo se admite en las políticas de alertas basadas en registros. Esta variable siempre se renderiza comonull
cuando una política de alertas supervisa una métrica, incluso una métrica basada en registros.
No hay datos nuevos después de los cambios en las definiciones de métricas
Cambias la definición de una métrica definida por el usuario, por ejemplo, modificando el filtro que usaste en una métrica basada en registros, y la política de alertas no refleja el cambio que realizaste en la definición de la métrica.
Para resolver este problema, fuerza la actualización de la política de alertas editando el nombre visible de la política.
La creación de la política de alertas falla en la API debido a que falta la métrica
Hace poco creaste una métrica y, luego, hiciste referencia a ella cuando intentaste crear una política de alertas en la API de Cloud Monitoring. Sin embargo, el comando de la API falla y muestra el siguiente error:
Error 404: Cannot find metric(s) that match type = "METRIC_NAME". If a metric was created recently, it could take up to 10 minutes to become available. Please try again soon.
Para resolver este problema, espera al menos diez minutos y, luego, vuelve a enviar la solicitud a la API.
El gráfico de la política de alertas no muestra el incumplimiento del umbral
Recibiste una notificación de que se abrió un incidente para tu política de alertas. Sin embargo, cuando accedes a la página de detalles de la política, el gráfico no indica que se haya incumplido el umbral.
Para resolver esta situación, intenta acortar el intervalo de tiempo del gráfico. Puedes acortar el intervalo de tiempo con el selector de intervalo de tiempo de la barra de herramientas o destacando intervalos de tiempo en el gráfico con el puntero.
Los gráficos tienen una resolución limitada y es posible que no muestren todas las mediciones para algunos períodos.