Qué es
Amazon CloudWatch es el servicio de observabilidad de AWS. Recoge métricas y logs de los servicios de AWS y de tus aplicaciones, permite crear alarmas que reaccionan automáticamente y paneles para visualizarlo todo. Es la primera herramienta para saber qué está pasando en producción.
Conceptos clave
- Métricas: series temporales agrupadas en espacios de nombres y dimensiones. EC2 (Elastic Compute Cloud) envía métricas cada 5 minutos por defecto, o cada minuto con la monitorización detallada. Las métricas personalizadas pueden tener resolución de hasta 1 segundo.
- Memoria y disco de EC2 no vienen por defecto: hace falta el agente de CloudWatch en la instancia (que también envía logs del sistema).
- Alarmas: estados OK, ALARM e INSUFFICIENT_DATA. Acciones: notificar por SNS (Simple Notification Service), escalar con Auto Scaling, parar, reiniciar o recuperar una instancia EC2, o abrir incidencias. Las alarmas compuestas combinan varias para reducir el ruido, y la detección de anomalías aprende el patrón normal.
- CloudWatch Logs: grupos y flujos de logs. La retención por defecto es indefinida. Los filtros de métricas convierten patrones de los logs en métricas, los filtros de suscripción envían los logs en tiempo real a Lambda, Firehose u OpenSearch, y Logs Insights permite consultarlos con un lenguaje de consulta. También se pueden exportar a S3 (Simple Storage Service).
- Paneles (dashboards): pueden combinar métricas de varias cuentas y regiones.
- Otras funciones: Synthetics (canarios que prueban endpoints), RUM (usuarios reales), Application Signals, Container Insights y Lambda Insights.
- Los eventos de cambios de estado de AWS los gestiona Amazon EventBridge (antes CloudWatch Events).
Casos de uso típicos
- Alertar por correo o chat cuando suben los errores o la latencia de una API (Application Programming Interface: interfaz para que los programas se comuniquen).
- Escalar un grupo de Auto Scaling según la CPU (Central Processing Unit: procesador) o una métrica personalizada.
- Centralizar los logs de aplicaciones y depurar con Logs Insights.
- Recuperar automáticamente una instancia EC2 si falla su comprobación de estado del sistema.
- Paneles operativos para un equipo.
Cuándo NO usarlo
- Para auditar quién hizo una llamada a la API de AWS: eso es CloudTrail.
- Para evaluar si la configuración de los recursos cumple unas reglas y ver su historial: AWS Config.
- Para trazar peticiones entre microservicios: X-Ray o Application Signals.
Comparativa con servicios parecidos
| Pregunta | Servicio |
|---|---|
| ¿Cómo está funcionando? (rendimiento, errores) | CloudWatch |
| ¿Quién hizo qué y cuándo en la API de AWS? | CloudTrail |
| ¿Cómo estaba configurado un recurso y cumple las normas? | AWS Config |
| ¿Por dónde pasó una petición y dónde se tardó? | X-Ray |
Modelo de precios
Hay un nivel gratuito con métricas básicas, algunas alarmas y algo de ingesta de logs. A partir de ahí se paga por métrica personalizada, por alarma, por GB de logs ingeridos y almacenados, por GB analizado con Logs Insights, por panel y por peticiones a la API. Fijar una retención en los grupos de logs evita pagar almacenamiento indefinido.
Seguridad y alta disponibilidad
- Acceso con IAM (Identity and Access Management) a métricas, alarmas y grupos de logs.
- Grupos de logs cifrables con KMS (Key Management Service) y con protección de datos (enmascarar datos sensibles).
- Endpoints de VPC (Virtual Private Cloud) de interfaz para enviar métricas y logs sin salir a internet.
- Observabilidad entre cuentas para centralizar la monitorización de una organización.
Así lo uso en Kopi
En Kopi, cada función Lambda escribe automáticamente en su grupo de logs, y es lo primero que
miro cuando algo falla en producción. El rol de ejecución lleva los permisos de
logs:CreateLogGroup, CreateLogStream y PutLogEvents. Todos los
grupos tienen una retención de 30 días: por defecto los logs no caducan nunca, y un mes
basta para depurar sin acumular indefinidamente datos con identificadores de usuario. Como la
retención es por grupo y Lambda crea el suyo sin retención en la primera invocación, al desplegar
una función nueva creo antes su grupo y le fijo los 30 días. A esta escala no hay alarmas ni
paneles; el siguiente paso natural sería una alarma sobre las métricas Errors y
Throttles de Lambda.
Trampas de examen
- "Memoria o espacio en disco de EC2": agente de CloudWatch (no son métricas por defecto).
- "¿Quién borró el recurso?": CloudTrail, no CloudWatch.
- "Contar errores en los logs y alertar": filtro de métricas más alarma.
- "Procesar logs en tiempo real": filtro de suscripción hacia Lambda, Firehose u OpenSearch.
- "Recuperar la instancia si falla el hardware": alarma con la acción de recuperación de EC2.
- "Métricas cada minuto en EC2": monitorización detallada.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is Amazon CloudWatch?, documentación de AWS (consultada el 25/09/2026).
- What is Amazon CloudWatch Logs?, documentación de AWS (consultada el 25/09/2026).
- Using Amazon CloudWatch alarms, documentación de AWS (consultada el 25/09/2026).
- Collect metrics, logs, and traces using the CloudWatch agent, documentación de AWS (consultada el 25/09/2026).