Alertas para infraestructura
Clase 13 de 23 • Curso de Observabilidad Avanzada con New Relic
Resumen
La implementación de sistemas robustos de monitoreo y alertas es fundamental para mantener la salud de nuestra infraestructura. Cuando logramos detectar problemas incluso antes de que nuestros usuarios los perciban, estamos adoptando un enfoque proactivo hacia la observabilidad. En este contenido, exploraremos cómo establecer alertas efectivas para métricas críticas de infraestructura, enfocándonos específicamente en el uso de memoria y cómo configurar umbrales de advertencia y críticos para anticiparnos a potenciales problemas.
¿Cómo configurar alertas para métricas críticas de infraestructura en New Relic?
New Relic es una plataforma potente que nos permite monitorear diversos aspectos de nuestra infraestructura. Para comenzar a configurar alertas sobre métricas críticas, debemos seguir estos pasos:
- Ingresar a la sección "Space Rover Infrastructure" para acceder al resumen de métricas de infraestructura.
- Identificar la métrica específica que queremos monitorear, en este caso el uso de memoria.
- Utilizar el menú de acciones de cualquier gráfico (los tres puntos en la esquina superior derecha).
- Seleccionar la opción "Create alert condition".
Esta acción nos llevará a la vista de creación de nuevas condiciones de alerta, donde la plataforma importará automáticamente la consulta del gráfico que estábamos visualizando. Es importante verificar que la consulta se ejecute como esperamos antes de continuar con la configuración.
El monitoreo proactivo nos permite anticiparnos a los problemas antes de que se conviertan en incidencias críticas, lo que mejora significativamente la experiencia del usuario final y reduce el tiempo de inactividad de nuestros sistemas.
¿Por qué es tan importante monitorear el uso de memoria?
El uso de memoria es un indicador crítico de la salud de nuestros sistemas. Existen parámetros claramente definidos que nos ayudan a identificar tendencias problemáticas:
- Un uso de memoria alrededor del 70% es motivo de preocupación
- Un uso sostenido del 80% o superior es definitivamente una señal de alarma
Estos umbrales nos proporcionan una base sólida para configurar condiciones de alerta que nos adviertan cuando nuestros sistemas se acercan a estos niveles críticos. Detectar tempranamente estos patrones de uso nos permite tomar medidas correctivas antes de que ocurra un fallo en el sistema.
¿Cómo configurar umbrales efectivos para las alertas?
La configuración de los umbrales es crucial para recibir alertas útiles y oportunas. En New Relic, podemos ajustar varios parámetros:
-
Window duration: Un minuto es adecuado para métricas como el uso de memoria. Queremos detectar cuando el uso se mantiene elevado durante al menos cinco minutos, lo que indicaría un problema persistente.
-
Método de procesamiento: Venflow streaming es ideal para datos que reportan frecuentemente, como el uso de memoria.
-
Niveles de severidad: Podemos configurar dos umbrales por condición:
- Nivel de advertencia: cuando el uso de memoria supera el 70% durante al menos cinco minutos
- Nivel crítico: cuando el uso de memoria supera el 80% durante al menos cinco minutos
# Configuración de umbrales
- Warning: Uso de memoria > 70% durante ≥ 5 minutos
- Critical: Uso de memoria > 80% durante ≥ 5 minutos
Es importante establecer umbrales claros y significativos que reflejen el comportamiento esperado de nuestros sistemas, evitando tanto las alertas excesivas como la falta de notificaciones ante problemas reales.
¿Cómo personalizar y gestionar las alertas creadas?
Una vez definidos los umbrales, es esencial agregar detalles adicionales a nuestras alertas para facilitar su gestión:
Nombrando las alertas y políticas
El nombre de la alerta debe ser claro y descriptivo, como "High Memory Usage", especialmente considerando que podríamos recibir estas notificaciones a altas horas de la noche.
Cada condición de alerta debe estar conectada a una política de alertas. En este caso, creamos una nueva política llamada "Infrastructure Golden Signals", que podría contener múltiples condiciones relacionadas con métricas de infraestructura.
Agrupación de incidentes
New Relic ofrece opciones para agrupar incidentes:
- Una incidencia por política
- Una incidencia por condición
Para nuestro caso de uso, seleccionamos "una incidencia por condición", lo que resulta útil si planeamos agregar más condiciones de alerta para CPU, espacio en disco, etc.
La opción "Correlate and Suppress Noise" es valiosa para reducir falsos positivos y alertas intermitentes, evitando interrupciones innecesarias durante el día o la noche.
Configuración adicional
- Cierre automático de incidentes: Se mantiene el valor predeterminado de 3 días.
- URL de Runbook: Podemos agregar un enlace a documentación que detalle los pasos a seguir cuando se activa esta alerta, facilitando la resolución para el equipo de guardia.
¿Cómo establecer canales efectivos de notificación?
El último paso es configurar cómo serán notificados los equipos cuando se activen las condiciones de alerta:
- Creamos un flujo de trabajo de notificaciones llamado "Infrastructure Alerts".
- Seleccionamos el canal de notificación email.
- Configuramos un destinatario, en este caso "Team Lead".
- Personalizamos el título y contenido del mensaje, pudiendo incluir variables dinámicas usando doble llaves
{{variable}}
. - Activamos el flujo de trabajo.
Una estrategia efectiva de notificaciones asegura que las alertas lleguen a las personas adecuadas en el momento oportuno, maximizando la capacidad de respuesta del equipo ante incidentes.
Aplicaciones en diferentes contextos tecnológicos
Los principios de alertas que hemos revisado pueden aplicarse a diversas tecnologías:
- Kubernetes: Configurar alertas para fallos de pods
- Kafka: Establecer condiciones de alerta para detectar retrasos en temas de Kafka antes de que pongan en riesgo los datos
Cada stack tecnológico tiene sus propias métricas críticas que pueden beneficiarse de un sistema de alertas bien diseñado.
La capacidad de alertar proactivamente sobre problemas potenciales antes de que impacten a los usuarios es una habilidad fundamental para cualquier equipo de operaciones o DevOps. Implementar estas prácticas no solo mejora la estabilidad de nuestros sistemas, sino que también reduce el estrés y las intervenciones de emergencia para nuestros equipos.
¿Qué condiciones de alerta específicas son más relevantes para tu caso de uso particular? Comparte tus experiencias y aprendamos juntos sobre las mejores prácticas en este ámbito.