Módulo 10 · Operación y automatización/Lección 59
CloudWatch: métricas, logs y alarmas
El tablero de instrumentos: qué está pasando, qué pasó y quién se entera cuando algo se sale de lo normal.
Una aplicación en producción nunca está «terminada»: la usan personas reales, a horas raras, con picos que nadie previó. Necesitas ver qué está pasando ahora, revisar qué pasó anoche y enterarte antes que tus usuarios cuando algo se sale de lo normal.
Amazon CloudWatch es el servicio de observabilidad de AWS. Junta cuatro piezas: métricas, logs, alarmas y paneles. Casi todos los servicios de AWS le envían datos sin que hagas nada.
Métricas: los sensores
Una métrica es una serie de números en el tiempo: uso de CPU cada 5 minutos, peticiones por segundo, errores 5xx. Cada métrica vive en un espacio de nombres (namespace) que agrupa por servicio, como AWS/EC2 o AWS/Lambda, y se identifica con dimensiones: pares clave-valor como InstanceId=i-0abc123 que dicen de qué recurso es el dato.
- Métricas por defecto: las que cada servicio publica solo. En EC2: CPU, red, operaciones de disco y los chequeos de estado.
- Métricas personalizadas: las que publicas tú, con el agente de CloudWatch o con la API
PutMetricData. La memoria RAM y el espacio libre en disco de una EC2 no vienen por defecto: el hipervisor no ve dentro del sistema operativo, así que necesitas el agente. - Monitoreo básico y detallado: por defecto, EC2 envía sus métricas cada 5 minutos (los chequeos de estado, cada minuto). Con el monitoreo detallado las recibes cada minuto, con costo adicional.
Logs: las cámaras
CloudWatch Logs guarda texto con fecha: lo que escribe tu aplicación, los registros de Lambda, los VPC Flow Logs, los de API Gateway. Se organizan en grupos de logs (log groups), normalmente uno por aplicación o función, y dentro de cada grupo, en flujos (log streams), uno por instancia o contenedor. A cada grupo le defines cuánto tiempo conservar los datos.
Para buscar, CloudWatch Logs Insights te deja consultar millones de líneas con un lenguaje sencillo: «las 20 rutas con más errores en la última hora». Y con un filtro de métricas conviertes un patrón de texto (por ejemplo, cada línea con ERROR) en una métrica sobre la que puedes poner una alarma.
Alarmas: quién se entera
Una alarma vigila una métrica y compara su valor con un umbral durante cierto número de periodos. Así evitas que un pico de diez segundos despierte a alguien a las 3 de la mañana. Tiene tres estados:
Al cambiar de estado, la alarma ejecuta acciones:
- Notificar a un tema de Amazon SNS, que reparte a correos, SMS, Lambda o Slack.
- Escalar: disparar una política de Auto Scaling para agregar o quitar instancias.
- Actuar sobre la EC2: detenerla, terminarla, reiniciarla o recuperarla en otro hardware.
- 1
Crea un tema de SNS
Por ejemploalertas-produccion, y suscribe tu correo. Confirma la suscripción desde el correo. - 2
Elige la métrica
En CloudWatch → Alarms → Create alarm, seleccionaAWS/EC2→CPUUtilizationde tu instancia. - 3
Define la condición
Mayor que 80 % durante 3 de 3 periodos de 5 minutos. Así ignoras picos sueltos. - 4
Conecta la acción
En estado ALARM, notificar al tema alertas-produccion. Agrega también una notificación al volver a OK.
Los paneles (dashboards) juntan gráficas de métricas, resultados de Logs Insights y estados de alarmas en una sola pantalla. Pueden mezclar datos de varias regiones y cuentas.
Seguir una petición: X-Ray y Application Signals
Cuando una petición pasa por API Gateway, una Lambda, una cola y una base de datos, las métricas te dicen que «está lento», pero no dónde. AWS X-Ray sigue cada petición de punta a punta y arma una traza: cuánto tardó cada salto y cuál falló. Con muchas trazas dibuja un mapa de servicios con los tramos lentos resaltados.
CloudWatch Application Signals va un paso más allá: instrumenta tus aplicaciones de forma automática y te muestra por servicio la latencia, los errores y el volumen, y te deja definir objetivos de nivel de servicio (SLO).
Amazon CloudWatch
Los sensores y las pantallas
Métricas, alarmas y paneles de todos tus recursos.CloudWatch Logs
Las grabaciones de las cámaras
Guarda, busca y analiza los registros de texto de tus aplicaciones y servicios.Alarma de CloudWatch
La alarma que llama al técnico
Vigila una métrica y avisa o actúa cuando cruza un umbral.AWS X-Ray
Seguir a un visitante cámara por cámara
Trazas de cada petición entre servicios y el mapa de dependencias.
Quiz
Pon a prueba lo que aprendiste
0 de 5 correctas · 5 sin responder
1.Necesitas ver el uso de memoria de tus instancias EC2 en CloudWatch. ¿Qué haces?
2.El equipo quiere recibir un correo cuando la CPU de un servidor pase del 80 % durante 15 minutos. ¿Qué combinación usa?
3.Una API lenta pasa por API Gateway, tres funciones Lambda y DynamoDB. ¿Qué servicio muestra en qué tramo se pierde el tiempo?
4.Acabas de crear una alarma y aún no hay datos de la métrica. ¿En qué estado está?
5.¿Cada cuánto envía EC2 sus métricas de CPU a CloudWatch si no cambias nada?