MÓDULO 13 - Observabilidad y Monitoreo
Visión General
Este módulo cubre la observabilidad con Amazon CloudWatch. Aprenderá a monitorear sus infraestructuras, crear alarmas y desarrollar runbooks de respuesta a incidentes.
Objetivos de Aprendizaje
- Comprender las métricas de CloudWatch
- Configurar alarmas y notificaciones
- Analizar los logs centralizados
- Crear dashboards de monitoreo
- Desarrollar un runbook de incidentes mínimo
Contenido de la Semana
1. Amazon CloudWatch - Visión General
┌─────────────────────────────────────────────────────────────┐
│ AMAZON CLOUDWATCH │
├─────────────────────────────────────────────────────────────┤
│ │
│ "El sistema nervioso de su infraestructura AWS" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ MÉTRICAS LOGS ALARMAS │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │ CPU % │ │ App │ │ Alert │ │ │
│ │ │ Mem % │ │ System │ │ if >80%│ │ │
│ │ │ Network│ │ Lambda │ │ │ │ │
│ │ └────────┘ └────────┘ └────────┘ │ │
│ │ │ │ │ │ │
│ │ └──────────────┴──────────────┘ │ │
│ │ │ │ │
│ │ ┌──────┴──────┐ │ │
│ │ │ DASHBOARD │ │ │
│ │ │ Gráficas │ │ │
│ │ │ en tiempo │ │ │
│ │ │ real │ │ │
│ │ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
2. Métricas EC2 Importantes
| Métrica | Descripción | Umbral Típico |
|---|---|---|
| CPUUtilization | Utilización de CPU | Alarma > 80% |
| StatusCheckFailed | Salud de la instancia | Alarma = 1 |
| NetworkIn/Out | Tráfico de red | Según línea base |
| DiskReadOps | Operaciones de disco | Según línea base |
| CPUCreditBalance | Créditos T3 | Alarma < 20 |
3. Configuración de Alarmas
┌─────────────────────────────────────────────────────────────┐
│ ANATOMÍA DE UNA ALARMA │
├─────────────────────────────────────────────────────────────┤
│ │
│ Alarma : "High-CPU-Alert" │
│ │
│ Métrica : EC2 CPUUtilization │
│ Estadística : Average │
│ Período : 5 minutos │
│ Umbral : > 80% │
│ Evaluación : 3 de 5 períodos │
│ │
│ Acciones : │
│ • ALARM → SNS Topic → Email/SMS │
│ • OK → SNS Topic → Notificación de resolución │
│ │
│ Estados : │
│ ┌────────────────────────────────────────────┐ │
│ │ OK │◄─────────────►│ ALARM │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ └───────────────┴───────┘ │ │
│ │ ▲ │ │
│ │ │ │ │
│ │ INSUFFICIENT_DATA │ │
│ │ (no hay suficientes puntos) │ │
│ └────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
4. Estructura de un Runbook
# RUNBOOK : CPU Alta en Instancia EC2
## Síntoma
Alarma "High-CPU-Alert" activada
## Impacto
- Rendimiento degradado
- Posible timeout para los usuarios
## Diagnóstico
1. Verificar la alarma en CloudWatch
2. Identificar la instancia afectada
3. SSH en la instancia: `top` o `htop`
4. Identificar el proceso consumidor
## Acciones
### Si el proceso aplicativo es legítimo
- [ ] Verificar si el pico de tráfico es normal
- [ ] Considerar scale-out si ASG
- [ ] Aumentar el tamaño de la instancia si es necesario
### Si el proceso es sospechoso
- [ ] Identificar el proceso (`ps aux`)
- [ ] Verificar los logs de la aplicación
- [ ] Finalizar si no es crítico
- [ ] Escalar si es sospechoso malicioso
## Resolución
- [ ] Confirmar que la CPU volvió a la normalidad
- [ ] Documentar la causa
- [ ] Actualizar el runbook si es necesario
## Escalamiento
Si no se resuelve en 30 minutos → Equipo Infra
5. Dashboard Recomendado
┌─────────────────────────────────────────────────────────────┐
│ DASHBOARD PRODUCCIÓN │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ CPU Utilization │ │ Memory Usage │ │
│ │ ▃▅▆▇█▇▅▃▂ │ │ ▂▃▄▅▆▇▇▆▅ │ │
│ │ Instance 1, 2, 3 │ │ Instance 1, 2, 3 │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Request Count │ │ Error Rate │ │
│ │ ▁▂▃▄▅▆▇███▇▅ │ │ ▁▁▁▁▁▂▁▁▁▁▁ │ │
│ │ ALB Requests/min │ │ 5xx Errors % │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Alarmas Activas │ │
│ │ 🟢 CPU OK 🟢 Disk OK 🔴 ErrorRate HIGH │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Ejercicio: Creación de Runbook
Escenario
Cree un runbook para el siguiente escenario:
- Alarma: Instance EC2 StatusCheckFailed
- Impacto: Sitio web inaccesible
- Acciones posibles: Reiniciar, reemplazar, escalar
Plantilla a Completar
- Síntoma e impacto
- Pasos de diagnóstico
- Acciones correctivas (con decisiones)
- Criterios de resolución
- Proceso de escalamiento
Entregable
Runbook de 1 página + Configuración de alertas:
- Runbook estructurado para un tipo de incidente
- Lista de alarmas recomendadas
- Umbrales y justificaciones
Navegación
- Conceptos de Observabilidad
- Quiz de Validación - 30 preguntas para validar sus conocimientos
- Lab: Monitoreo
Siguiente semana: MÓDULO 14 - Gobernanza FinOps