CloudWatch
📘 ¿Qué es AWS CloudWatch?
Amazon CloudWatch es el servicio nativo de monitoreo, observabilidad y gestión de logs de AWS. Permite recopilar métricas, logs, eventos y alarmas desde tus recursos de AWS, aplicaciones, servicios on-premises y personalizados.
Es esencial para supervisar el rendimiento, automatizar respuestas y detectar anomalías en tiempo real.
🧩 Componentes principales
| Componente | Descripción |
|---|---|
| Metrics | Datos numéricos en tiempo real (CPU, memoria, solicitudes, etc.) |
| Logs | Registros generados por apps, sistemas, Lambda, etc. |
| Log Groups / Streams | Organización jerárquica de logs |
| Alarms | Monitorean métricas y activan acciones si superan umbrales |
| Dashboards | Visualizaciones personalizadas con métricas y gráficos |
| Events (EventBridge) | Reglas que reaccionan a eventos específicos (ver AWS EventBridge) |
| CloudWatch Synthetics | Simula usuarios para monitorear disponibilidad (canaries) |
| CloudWatch Contributor Insights | Detecta patrones inusuales de tráfico |
| CloudWatch Logs Insights | Motor de consultas sobre logs con lenguaje tipo SQL |
| CloudWatch Application Insights | Diagnóstico automático de aplicaciones |
📊 CloudWatch Metrics
-
Cada servicio de AWS publica métricas automáticamente.
-
Puedes crear métricas personalizadas (
PutMetricData). -
Ejemplos:
-
CPUUtilization,DiskReadOps(EC2) -
Invocations,Duration,Errors(Lambda) -
ReadThrottleEvents,ConsumedReadCapacityUnits(DynamoDB)
-
📁 CloudWatch Logs
-
Almacena logs de:
-
Lambda functions
-
EC2 (mediante agente CloudWatch)
-
ECS / Fargate
-
API Gateway
-
RDS logs
-
Servicios personalizados (SDK, agente, Fluent Bit)
-
🔧 Organización
Log Group → Log Streams
-
Log Group: agrupa logs por aplicación o componente
-
Log Stream: instancia o ejecución específica
🚨 CloudWatch Alarms
Permiten detectar condiciones anómalas y activar acciones automáticas:
-
Acciones posibles:
-
Enviar notificación vía SNS
-
Ejecutar una función Lambda
-
Detener o reiniciar una instancia EC2
-
Activar un Auto Scaling policy
-
🔢 Tipos de alarmas:
| Tipo | Ejemplo |
|---|---|
| Threshold | CPU > 80% por 5 minutos |
| Composite Alarm | Combinación de múltiples alarmas |
| Anomaly Detection | Basado en aprendizaje automático |
📊 CloudWatch Dashboards
-
Tableros visuales interactivos con gráficos de métricas
-
Pueden incluir métricas de múltiples cuentas y regiones
-
Puedes compartirlos con tu equipo o programarlos
🔍 CloudWatch Logs Insights
Permite consultar logs con un lenguaje similar a SQL:
Ejemplo:
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20
Ideal para debugging y análisis de errores en tiempo real.
🛠️ CloudWatch Synthetics
-
Simula usuarios que hacen “pings” o “clicks”
-
Usa canaries para probar disponibilidad y latencia
-
Escribe scripts en Node.js (Puppeteer)
🔐 Seguridad
-
Controlada vía IAM (Identity and Access Management)
-
Puedes restringir:
-
Acceso a logs
-
Envío de métricas personalizadas
-
Acceso a dashboards y alarms
-
-
Soporta encriptación KMS para logs
💰 Precios
| Recurso | Costo aproximado |
|---|---|
| Métricas estándar | Gratis hasta 10 métricas; luego ~$0.30 por métrica/mes |
| Logs almacenados | ~$0.50 por GB ingerido y ~$0.03 por GB almacenado/mes |
| Dashboards | Gratis para 3; luego $3 por dashboard/mes |
| Alarms | $0.10 por alarma/mes (Threshold); $0.30 (Composite) |
| Synthetics | $0.0012 por ejecución de canary (estimado) |
| Insights | Cobro por consulta (GB escaneados) |
✅ Casos de uso
-
Supervisión en tiempo real de servicios críticos
-
Alertas automáticas ante anomalías
-
Consola de observabilidad unificada (Dashboards)
-
Análisis de logs históricos para debugging o auditoría
-
Integración con Auto Scaling, SNS, Lambda, EC2 Actions
🧠 Preguntas tipo certificación
-
¿Cuál es el servicio nativo de monitoreo de AWS?
- ✅ Amazon CloudWatch
-
¿CloudWatch puede activar acciones automáticas?
- ✅ Sí, mediante alarmas (ej: SNS, Lambda, EC2)
-
¿Cómo puedes visualizar métricas en tiempo real?
- ✅ Usando CloudWatch Dashboards
-
¿CloudWatch puede detectar anomalías automáticamente?
- ✅ Sí, con Anomaly Detection
-
¿CloudWatch guarda logs de Lambda por defecto?
- ✅ Sí, en CloudWatch Logs