Contenido del curso

Monitoreo de AWS con CloudWatch

Resumen

AWS CloudWatch es el servicio que te permite monitorear el estado, desempeño y comportamiento de tus aplicaciones y recursos en la nube. Si ya desplegaste instancias, funciones Lambda o volúmenes, llegó el momento de observar qué hacen, cómo responden y cuándo necesitan tu atención. Esta guía es para quienes administran ambientes en AWS y quieren tomar decisiones basadas en datos reales.

¿Para qué sirve AWS CloudWatch en un ambiente productivo?

CloudWatch centraliza la observabilidad de tu infraestructura y te da herramientas concretas para reaccionar ante eventos.

Con este servicio puedes:

  • Verificar la salud de aplicaciones y servicios desplegados.
  • Crear alarmas y automatizaciones que reaccionen a cambios.
  • Recolectar logs desde tus recursos en AWS o desde servidores on premise.
  • Construir dashboards interactivos con métricas en tiempo real.
  • Integrarte con X-Ray para observabilidad de aplicaciones distribuidas o basadas en microservicios [2:00].

¿Qué es AWS CloudWatch? Es el servicio de monitoreo de AWS que recolecta logs, métricas y eventos de tus recursos para crear alarmas, dashboards y automatizaciones que te ayudan a operar tu ambiente.

¿Cómo funcionan los grupos de logs y los log streams?

Los registros son la base de todo lo que vas a hacer después en CloudWatch. Sin logs, no hay métricas personalizadas ni alarmas inteligentes.

Dentro de Log groups encuentras agrupaciones de eventos. Por ejemplo, Lambda genera automáticamente un grupo de logs con varios log streams, donde cada stream contiene mensajes como la inicialización de la función y los eventos posteriores [2:50].

Tú también puedes crear tu propio grupo de logs. Solo defines:

  • El nombre del grupo.
  • La retención de los registros.
  • La clase de log: standard o infrequent access, según el costo que quieras asumir [3:50].

Esos streams pueden venir desde instancias EC2, aplicaciones, máquinas virtuales o servidores en tu centro de datos.

¿Qué métricas trae AWS por defecto y cuáles puedo crear?

AWS ya entrega métricas listas para muchos servicios. Si entras a Elastic Block Store, por ejemplo, encuentras 69 métricas por volumen, incluyendo tiempo de lectura total, operaciones de lectura, operaciones de escritura, lectura en bytes y escritura en bytes [4:30].

Lo interesante es que también puedes generar métricas personalizadas a partir de tus propios logs. Y desde cualquier métrica, ya sea nativa o creada por ti, puedes construir una alarma.

¿Qué diferencia hay entre log, métrica y alarma en CloudWatch? El log es el registro crudo del evento. La métrica es un valor numérico medible en el tiempo. La alarma se dispara cuando esa métrica cruza un umbral que tú defines.

¿Cómo creo un dashboard interactivo en CloudWatch?

Los dashboards son paneles visuales donde combinas widgets para entender tu ambiente de un vistazo.

Para crearlo vas a Create dashboard, le pones nombre y empiezas a agregar widgets. CloudWatch acepta múltiples fuentes: contenido en imagen, texto, widgets personalizados o fuentes de datos externas como OpenSearch, Amazon Managed Prometheus o Azure Monitor [6:30].

Un flujo típico para graficar utilización de CPU es:

  1. Seleccionas un widget tipo línea.
  2. Filtras por el servicio EC2 y por tus instancias.
  3. Eliges la métrica de porcentaje de CPU.
  4. Agregas tanto la instancia pública como la privada en la misma gráfica [7:30].

Después puedes redimensionar con drag and drop, renombrar series (por ejemplo Pub y Pri) y filtrar el rango de tiempo a una hora, tres horas o doce horas. También puedes agregar otro tipo de widget, como un número, para mostrar Network In de cada instancia.

¿Cómo configurar una alarma con acciones automáticas?

Una alarma en CloudWatch tiene tres estados posibles: Insufficient data, OK e In alarm. Entrar en In alarm no siempre significa algo malo, depende de cómo la configuraste [10:30].

Al crear la alarma defines:

  • La métrica y la instancia que vas a observar.
  • El periodo de evaluación, que puede ser desde 10 segundos hasta varios minutos.
  • El tipo de umbral: estático o de detección de anomalías.
  • La condición: mayor que, mayor o igual, menor o igual o menor que un valor.

En el ejemplo se configura un umbral estático con periodo de cinco minutos y condición mayor a 20% de CPU [11:00].

La parte poderosa son las acciones. CloudWatch puede notificarte vía SNS, ejecutar una función Lambda, activar un Auto Scaling group para sumar instancias cuando subas la carga, o ejecutar acciones directas sobre EC2 como parar, terminar o reiniciar la instancia [12:30].

¿Cómo se ve una alarma activándose en la práctica?

Para probarlo en vivo, te conectas a la instancia pública por SSH y ejecutas la herramienta de estrés con el comando:

bash stress --cpu 4 --timeout 60

Durante 60 segundos, la instancia eleva su consumo de CPU desde aproximadamente 2 o 3% hasta cerca del 30%, superando el umbral del 20% configurado [14:30].

La acción asociada se ejecuta de inmediato: la instancia entra en estado stopping y luego queda detenida. En el panel de CloudWatch ves cómo el histórico de data points refleja el salto y la alarma cambia al estado In alarm.

Este tipo de automatización te permite reaccionar a problemas reales sin intervención manual, ya sea apagando recursos comprometidos o escalando capacidad cuando hace falta. Cuéntame cómo configuras tus dashboards y alarmas en tu ambiente.