AWS y monitoreo
23 de abril de 2026 10 min

Cómo monitorear un sitio web usando AWS Lambda y CloudWatch

Una guía práctica para monitorear un sitio web con AWS Lambda, CloudWatch, alarmas y dashboards, incluyendo qué hacer cuando no existe un endpoint de salud formal.

Imagen principal del artículo Cómo monitorear un sitio web usando AWS Lambda y CloudWatch

Monitorear un sitio web no debería exigir una infraestructura compleja

Muchas veces el monitoreo de un sitio web se imagina como algo pesado: agentes instalados, servidores dedicados, herramientas caras o stacks demasiado grandes para un problema que, en esencia, consiste en responder una pregunta bastante concreta: ¿el sitio está sano o no?

En AWS, una forma especialmente limpia de resolver esto es usando AWS Lambda junto con CloudWatch. La lógica es simple: una función se ejecuta cada cierto tiempo, consulta el sitio o una API de salud, interpreta el resultado y publica métricas. Luego CloudWatch transforma esas métricas en alarmas, histórico y dashboards.

Este enfoque tiene varias ventajas prácticas. Es serverless, opera sobre componentes muy estables, escala sin esfuerzo y no obliga a mantener una máquina prendida solo para hacer chequeos repetitivos. Para monitoreo liviano o intermedio, suele ser una solución muy sana.

Por qué Lambda calza tan bien en este problema

  • No necesitas administrar un servidor de monitoreo para ejecutar validaciones periódicas.
  • El costo suele ser bajo cuando los chequeos son breves y acotados.
  • Se integra muy naturalmente con EventBridge y CloudWatch dentro del ecosistema AWS.
  • Permite codificar validaciones a medida, en vez de limitarse a un ping básico.
  • Es una buena base para crecer después hacia alarmas, webhooks, dashboards y automatizaciones.

Dicho de otra forma: Lambda no solo sirve para saber si una URL responde, sino también para verificar si responde como debería. Y esa diferencia importa mucho. Un sitio puede devolver código 200 y aun así estar roto desde el punto de vista del negocio.

El mejor escenario: tener un endpoint de salud real

Si el sitio o aplicación tiene un endpoint como /health, /status o similar, el trabajo se vuelve mucho más limpio. Esa ruta puede responder información útil sobre el estado del sistema: conectividad a base de datos, acceso a dependencias externas, cola de mensajes, latencia o versión desplegada.

En ese caso, la Lambda puede ejecutarse una vez por minuto —o con la frecuencia que tenga sentido—, consultar ese endpoint, leer su respuesta JSON y transformar esos datos en métricas concretas dentro de CloudWatch.

  1. EventBridge dispara la ejecución

    Una regla programada ejecuta la función cada minuto, cada cinco minutos o según la sensibilidad operacional que necesites.

  2. La Lambda consulta el endpoint

    La función hace una llamada HTTP, mide tiempo de respuesta y valida que el contenido recibido tenga la forma esperada.

  3. Se publican métricas personalizadas

    Por ejemplo: disponibilidad, tiempo de respuesta, salud de base de datos o estado de un componente específico.

  4. CloudWatch evalúa y reacciona

    Sobre esas métricas se construyen alarmas, tableros, notificaciones y series históricas para detectar degradación antes de que el problema explote.

Cuando no existe un endpoint de health, VRWEB recomienda otro camino

No todos los sitios tienen una API de salud formal. Y en muchos proyectos heredados, pedirla no siempre es inmediato. En esos casos, una alternativa muy útil es monitorear una página que sea representativa del funcionamiento real del sistema.

La recomendación de VRWEB es elegir una página que dependa de las piezas importantes del sitio. Idealmente, una vista que no solo responda desde el servidor web, sino que también requiera acceso a base de datos u otra dependencia central. Luego la Lambda lee el HTML o la respuesta y busca un string conocido que solo aparece cuando todo está operando correctamente.

Esto parece simple, pero tiene mucho valor operativo. Permite detectar un caso frecuente: el servidor web sigue arriba, pero el motor de base de datos cayó, se degradó o devolvió un error silencioso. Desde fuera, el sitio “abre”; desde el negocio, está roto.

Qué conviene validar en esa página representativa

  • Que la respuesta llegue dentro de un umbral de tiempo razonable.
  • Que el código HTTP sea el esperado.
  • Que el contenido incluya un texto, valor o marcador conocido.
  • Que no aparezcan strings típicos de error, fallback o timeout.
  • Que la estructura general no esté vacía ni truncada.

La clave es entender que el monitoreo debe parecerse a una prueba mínima de usuario real. No solo verificar que “algo” contestó, sino que la respuesta tenga sentido desde el punto de vista funcional.

De métricas a alarmas: donde CloudWatch realmente brilla

Una vez que la Lambda publica indicadores en CloudWatch, aparece la segunda mitad del sistema: convertir observación en reacción. Ahí entran las alarmas. Puedes levantar alertas cuando la disponibilidad cae a cero, cuando el tiempo de respuesta supera un umbral, o cuando el string esperado deja de aparecer durante varios chequeos seguidos.

Esas alarmas pueden gatillar distintas acciones: correos, SMS, webhooks, eventos internos o integraciones con plataformas de incidentes. Lo importante no es solo avisar, sino avisar con criterio. Una alarma demasiado sensible genera ruido. Una demasiado laxa llega tarde.

Qué métricas suele tener sentido guardar

  • Availability: 1 si el chequeo fue exitoso, 0 si falló.
  • ResponseTimeMs: tiempo total de respuesta del sitio o endpoint.
  • ContentValidation: 1 si el contenido esperado estaba presente, 0 si no.
  • DbBackedPageHealth: indicador lógico para páginas que dependen de base de datos.
  • ErrorType: categorización simple de fallas para distinguir timeout, error HTTP o contenido inválido.

Los dashboards ayudan a mirar tendencia, no solo incidentes

Otro valor importante de CloudWatch es que no se queda solo en la alarma puntual. También permite construir dashboards para observar comportamiento a lo largo del tiempo. Eso ayuda a ver degradaciones lentas: un sitio que no cayó, pero que empezó a responder más lento; una página que intermitentemente falla; una dependencia que se vuelve inestable ciertas horas del día.

En operación real, esa mirada histórica es muy valiosa. Muchas veces el problema no se presenta como caída total, sino como deterioro gradual. Y esos patrones son precisamente los que un buen dashboard deja ver con claridad.

Buenas prácticas para que este monitoreo sea útil de verdad

  1. No monitorees solo el home si no representa la operación

    La portada puede estar cacheada o responder bien aunque partes críticas del sistema estén caídas. Elige una vista que realmente pruebe algo importante.

  2. Evita alarmas por un solo fallo aislado

    Usar ventanas de evaluación con dos o tres fallos consecutivos suele reducir mucho los falsos positivos.

  3. Separa disponibilidad de validación funcional

    Una cosa es que la URL responda; otra es que responda con contenido correcto. Ambas dimensiones deberían medirse por separado.

  4. Incluye contexto en las alertas

    La notificación debería decir qué URL falló, qué validación se incumplió y desde cuándo, para que la respuesta del equipo sea más rápida.

  5. Úsalo como capa complementaria

    Este enfoque es excelente para monitoreo externo y funcional, pero conviene combinarlo con logs, métricas de infraestructura y monitoreo de aplicación cuando la criticidad del sistema lo amerita.

La idea central

Monitorear un sitio web con AWS Lambda y CloudWatch es una solución elegante, serverless y muy práctica. Permite ejecutar chequeos frecuentes, validar endpoints o páginas reales, guardar indicadores, construir alarmas útiles y observar tendencia en dashboards.

Y quizás lo más importante: ayuda a monitorear el sitio como lo vive el negocio, no solo como lo ve el servidor. Esa diferencia es la que convierte un chequeo técnico en monitoreo realmente útil.

¿Quieres monitorear mejor tu sitio o aplicación en AWS?

En VRWEB podemos ayudarte a diseñar monitoreo práctico, alarmas útiles y tableros que realmente sirvan para operar mejor, sin complejidad innecesaria.