CloudWatch: Monitoreo y Alertas
CloudWatch es el centro de monitoreo de AWS. Recolecta metricas, logs y te permite crear alarmas para detectar problemas antes de que tus usuarios los noten.
Componentes: • Metricas: datos numericos (CPU de EC2, latencia de ALB, errores de Lambda) • Logs: texto de salida de tus apps y servicios • Alarmas: notificaciones cuando una metrica cruza un umbral • Dashboards: paneles visuales con graficas en tiempo real • SNS: servicio de notificaciones (email, SMS, Slack)
Metricas gratis incluidas: • EC2: CPU, red, disco (cada 5 min) • RDS: CPU, conexiones, almacenamiento • Lambda: invocaciones, errores, duracion • ALB: requests, latencia, errores 5xx
# Ver metricas de una instancia EC2
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-0abc123 \
--start-time 2026-06-24T00:00:00Z \
--end-time 2026-06-24T23:59:59Z \
--period 3600 \
--statistics Average
# Crear alarma: CPU > 80% por 5 minutos
aws cloudwatch put-metric-alarm \
--alarm-name "cpu-alta-produccion" \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 300 \
--threshold 80 \
--comparison-operator GreaterThanThreshold \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:us-east-1:123456:alertas-equipo \
--dimensions Name=InstanceId,Value=i-0abc123
# Crear alarma de facturacion (evitar sorpresas)
aws cloudwatch put-metric-alarm \
--alarm-name "gasto-mensual-alto" \
--metric-name EstimatedCharges \
--namespace AWS/Billing \
--statistic Maximum \
--period 21600 \
--threshold 50 \
--comparison-operator GreaterThanThreshold \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:us-east-1:123456:alertas-billing
# LOGS: ver logs de Lambda o ECS
# Crear grupo de logs
aws logs create-log-group --log-group-name /app/mi-api
# Ver ultimos logs de un grupo
aws logs tail /ecs/mi-app --follow
# Buscar errores en los logs
aws logs filter-log-events \
--log-group-name /ecs/mi-app \
--filter-pattern "ERROR" \
--start-time $(date -d "1 hour ago" +%s000)
# METRICAS CUSTOM: enviar tus propias metricas
aws cloudwatch put-metric-data \
--namespace "MiApp" \
--metric-name "PedidosPorMinuto" \
--value 42 \
--unit Count
# Crear dashboard (JSON)
aws cloudwatch put-dashboard \
--dashboard-name "Produccion" \
--dashboard-body file://dashboard.json
# Crear topico SNS para notificaciones
aws sns create-topic --name alertas-equipo
aws sns subscribe \
--topic-arn arn:aws:sns:us-east-1:123456:alertas-equipo \
--protocol email \
--notification-endpoint admin@miempresa.com
Practica esta lección
Resuelve los ejercicios del curso de AWS para Developers en la app, gratis y con corrección automática.
Empezar a practicar