Guía completa de monitoreo con CloudWatch

Metricas, alarmas, paneles, logs de CloudWatch y EventBridge explicados con analogias cotidianas para principiantes.

CloudWatch es el servicio de monitoreo y observabilidad de AWS. Piensa en el como el sistema de monitoreo de un hospital para tus servidores. Asi como las enfermeras vigilan el ritmo cardiaco, la presion arterial y los niveles de oxigeno de un paciente en un monitor, y suena una alarma cuando algo va mal, CloudWatch vigila la CPU, la red y la actividad de disco de tus servidores y te alerta cuando algo no esta bien.

Si nunca has usado AWS antes, aqui esta la forma mas simple de entender CloudWatch: es la respuesta a la pregunta "¿como se si mis recursos de AWS estan sanos ahora mismo?"

 

Metricas de CloudWatch — Los numeros que describen tu sistema

Una metrica es una medicion en un momento especifico. Por ejemplo: "el uso de CPU es 73% ahora" o "el servidor recibio 500 MB de datos en el ultimo minuto." CloudWatch almacena estas mediciones a lo largo del tiempo para que puedas ver tendencias y detectar problemas.

Las metricas vienen en dos tipos.

Metricas estandar vs Metricas personalizadas

| Tipo | Metricas estandar | Metricas personalizadas | |------|------------------|------------------------| | ¿Quien las recopila? | AWS las recopila automaticamente | Tu las envias manualmente | | Costo | Gratis | Se cobra por metrica | | Ejemplos | Uso de CPU en EC2, red entrada/salida, lectura/escritura EBS | Uso de memoria, espacio libre en disco, tiempo de respuesta de app | | Intervalo de recopilacion | Por defecto 5 minutos (detallado: 1 minuto) | Tan frecuente como cada 1 segundo |

Aqui hay un punto de examen criticamente importante que confunde a muchas personas: el uso de memoria (RAM) de EC2 y el espacio libre en disco NO estan incluidos en las metricas estandar.

¿Por que? Porque esa informacion vive dentro del sistema operativo de tu servidor. AWS gestiona el hardware fisico fuera de tu servidor pero no puede mirar dentro del SO en si. Para obtener datos de memoria y disco, debes instalar el software CloudWatch Agent en tu instancia EC2. El Agent lee los internos del SO y envia los datos a CloudWatch como metricas personalizadas.

Piensalo asi: AWS puede ver el exterior de tu edificio de apartamentos (¿esta la electricidad encendida? ¿es el edificio estructuralmente solido?), pero no puede entrar a tu apartamento y revisar que hay dentro de tu refrigerador. El CloudWatch Agent es como darle a AWS una llave de tu apartamento.

Monitoreo detallado

Por defecto, CloudWatch recopila metricas cada 5 minutos. Habilitar el Monitoreo Detallado cambia esto a cada 1 minuto. Hay un costo adicional, pero significa que detectas problemas antes. Esto es especialmente util combinado con Auto Scaling: en lugar de esperar 5 minutos para notar un pico de trafico y agregar servidores, puedes reaccionar en 1 minuto.

 

Alarmas de CloudWatch — Accion automatica cuando algo va mal

Una alarma es una regla que dice "cuando esta metrica supera este umbral, realiza esta accion." Piensa en un detector de humo: cuando el humo alcanza cierto nivel, suena la alarma.

Tres tipos de alarmas

Las alarmas de umbral estatico comparan una metrica con un numero fijo. Por ejemplo: "enviame un correo cuando el uso de CPU supere el 80%." Simple y predecible.

Las alarmas de Deteccion de Anomalias usan aprendizaje automatico para aprender el patron normal de una metrica a lo largo del tiempo, luego alertan cuando la metrica se desvía de ese patron. Por ejemplo, si la CPU de tu servidor siempre sube a las 9 AM los dias de semana, la deteccion de anomalias sabe que esto es normal. Pero si la CPU sube repentinamente a las 3 AM, lo marca como inusual.

Las Alarmas Compuestas combinan multiples alarmas usando logica AND u OR. Por ejemplo: "solo dispara una alarma si la CPU esta alta Y la memoria tambien esta alta." Esto reduce las falsas alarmas. Imagina que solo quieres despertar al ingeniero de guardia si tanto la CPU como la memoria tienen problemas al mismo tiempo, no solo uno de ellos.

| Tipo de alarma | Como funciona | Mejor para | |---------------|--------------|-----------| | Umbral estatico | Comparar con un numero fijo | Cuando sabes que significa "demasiado alto" | | Deteccion de Anomalias | Aprender patrones normales, detectar desviaciones | Cuando los patrones son complejos o desconocidos | | Alarma Compuesta | Combinar multiples alarmas con AND/OR | Reducir falsas alarmas |

¿Que acciones puede tomar una alarma?

Cuando una alarma se dispara, puede hacer automaticamente una de tres cosas.

Enviar una notificacion SNS: esto puede activar un correo electronico a tu equipo, un mensaje SMS, un mensaje de Slack a traves de una funcion Lambda, o cualquier otra notificacion que configures.

Realizar una accion EC2: detener la instancia, terminarla, reiniciarla o recuperarla en nuevo hardware. La accion de recuperacion es particularmente importante para el examen. Cuando un servidor tiene un fallo de hardware, la metrica StatusCheckFailed_System va a 1. Si has configurado una accion de alarma de Recuperacion en esta metrica, AWS mueve automaticamente tu instancia a un nuevo hardware, preservando la direccion IP, el ID de instancia y los datos.

Activar Auto Scaling: agregar mas servidores cuando el trafico es alto, o eliminar servidores cuando el trafico es bajo.

 

Paneles de CloudWatch — Ver todo de un vistazo

Un panel es una pagina personalizable que muestra multiples metricas como graficos y numeros en un solo lugar. Piensa en el como la sala de control de una planta electrica, donde los ingenieros pueden ver el estado de toda la instalacion en una pared de monitores.

Los paneles son utiles porque puedes combinar metricas de multiples cuentas AWS en una sola vista. Puedes mostrar metricas de multiples regiones AWS en el mismo panel. El intervalo de actualizacion automatica se puede configurar en 10 segundos, 1 minuto o 5 minutos.

 

CloudWatch Logs — Almacenar y buscar datos de registro

Un log es un registro de texto de lo que ocurrio en un sistema. Tu servidor web registra cada solicitud: quien visito, que pagina solicitaron, cuando lo hicieron y que respuesta se envio. Cuando algo va mal, buscas en los logs para encontrar la causa.

La estructura de CloudWatch Logs

Un Grupo de Logs es un contenedor para logs relacionados. Por ejemplo, todos los logs de una funcion Lambda llamada my-order-processor irian a un grupo de logs llamado /aws/lambda/my-order-processor. Piensalo como una carpeta.

Un Flujo de Logs es una secuencia de eventos de log dentro de un grupo de logs. Cada instancia EC2 o invocacion de Lambda crea su propio flujo de logs dentro del grupo. Piensalo como un archivo dentro de la carpeta.

El periodo de retencion controla cuanto tiempo se guardan los logs. El valor por defecto es para siempre, pero puedes configurarlo desde 1 dia hasta 10 anos para controlar los costos de almacenamiento.

Filtros de Metricas — Convirtiendo texto de logs en numeros

Un filtro de metrica escanea tus logs en busca de un patron de texto especifico y cuenta cuantas veces aparece, convirtiendo ese conteo en una metrica de CloudWatch.

Aqui hay un ejemplo concreto: tu aplicacion registra errores con la palabra "ERROR" en el mensaje. Creas un filtro de metrica que cuenta cada ocurrencia de "ERROR" en el grupo de logs. Luego creas una alarma CloudWatch en esa metrica: si aparecen mas de 10 errores en 5 minutos, envia una alerta al equipo. Esto te da monitoreo automatizado de tasa de errores sin ningun cambio de codigo.

CloudWatch Logs Insights — Consultar tus logs como una base de datos

Logs Insights te permite buscar y analizar datos de log usando un lenguaje de consulta similar a SQL. En lugar de desplazarte por miles de lineas de log, puedes ejecutar consultas como "muéstrame todas las solicitudes que tardaron mas de 3 segundos en la ultima hora, agrupadas por endpoint." Los resultados se pueden visualizar como graficos.

 

EventBridge — Reaccionar a eventos automaticamente

EventBridge es un servicio que observa los eventos que ocurren en tu entorno AWS y automaticamente toma medidas basadas en reglas que defines. El patron es siempre: "cuando ocurre el evento X, realiza la accion Y."

Aqui hay ejemplos reales de lo que puede hacer EventBridge:

Cuando se termina una instancia EC2, enviar inmediatamente una notificacion SNS al equipo de operaciones.

Cada dia a medianoche, activar una funcion Lambda que respalda la base de datos.

Cuando un usuario IAM inicia sesion desde una ubicacion geografica inusual, activar un flujo de trabajo de revision de seguridad.

Los destinos de EventBridge incluyen funciones Lambda, temas SNS, colas SQS, flujos de trabajo de Step Functions y muchos mas.

Nota: EventBridge se llamaba anteriormente CloudWatch Events. Puedes ver ambos nombres en el examen. Son el mismo servicio.

 

Puntos clave del examen

"Monitorear uso de memoria y disco en EC2" -- Instalar CloudWatch Agent, recopilar como metricas personalizadas

"Cambiar recopilacion de 5 minutos a 1 minuto" -- Habilitar Monitoreo Detallado

"Alertar cuando el comportamiento se desvía de los patrones normales" -- Alarma de Deteccion de Anomalias

"Solo disparar alarma cuando CPU esta alta Y memoria esta alta" -- Alarma Compuesta

"Mover automaticamente EC2 a nuevo hardware tras fallo de hardware" -- Alarma StatusCheckFailed_System con accion Recover

"Contar ocurrencias de ERROR en logs y alertar" -- Filtro de Metrica

"Buscar logs con consultas tipo SQL" -- CloudWatch Logs Insights

Volver a la lista del blog