Monitoreo externo con servicios de uptime (UptimeRobot, Healthchecks)
Web Hosting
3

Monitoreo externo con servicios de uptime (UptimeRobot, Healthchecks)

Tener Netdata, Monit o Prometheus corriendo dentro de tu servidor está muy bien, pero todas estas herramientas comparten una debilidad evidente: si el servidor se cae del todo, ellas también se caen y no hay nadie para enviarte la alerta. Por eso, además del monitoreo interno, necesitás monitoreo externo que esté físicamente en otro lugar y observe a tu infraestructura desde afuera.

Monitoreo interno vs. externo

El monitoreo interno vive dentro del propio servidor y te dice con lujo de detalle qué le está pasando al CPU, a la base de datos o al filesystem. Es profundo pero frágil: un kernel panic o un corte de red lo silencia por completo. El monitoreo externo se ejecuta en otra red, desde otro proveedor, y su única pregunta es "¿tu sitio sigue respondiendo?". No sabe por qué fallás, pero sí sabe que fallás. Los dos enfoques son complementarios, no alternativos.

Cómo detecta caídas desde afuera

Un monitor externo funciona de manera simple: cada cierto intervalo, hace una solicitud HTTP a tu dominio (o un ping, o una conexión TCP) desde servidores ubicados en distintas partes del mundo. Si varios de esos puntos fallan al mismo tiempo, el servicio concluye que hay una caída real y te avisa. Esto es clave porque muchas veces el problema no es tu servidor sino una ruta de internet entre algunos países y tu datacenter, y un monitor externo lo detecta al instante.

UptimeRobot para chequeos HTTP

UptimeRobot es probablemente el servicio externo gratuito más popular. Su plan gratis te permite hasta 50 monitores con chequeos cada 5 minutos, más que suficiente para proyectos chicos y medianos. Los tipos de monitor que soporta:

  • HTTP(s): el más común, revisa si tu sitio devuelve un código de éxito.
  • Keyword: además de código, busca una palabra específica en la respuesta, útil para detectar páginas cacheadas o errores silenciosos.
  • Ping: ICMP clásico para verificar alcance de red.
  • Port: revisa puertos como 22, 3306 o 8080.
  • Heartbeat: tu sistema hace ping a UptimeRobot, si deja de hacerlo salta la alarma (similar a un dead man's switch).

Las alertas se mandan por email, SMS (en planes pagos), Telegram, Discord, Slack, webhooks y más. Además publica una status page gratuita por cuenta, por si querés exponer públicamente el estado de tus servicios.

Healthchecks.io para cron jobs

Healthchecks.io resuelve un problema distinto y más silencioso: el de los cron jobs que dejan de ejecutarse. Imaginá que tenés un backup nocturno a las 3 am; si el cron falla o el script da error, puede pasar semanas roto sin que nadie se entere, porque su ausencia es invisible.

Healthchecks te da una URL única por tarea. Tu script, al terminar exitosamente, hace un curl a esa URL. Si Healthchecks no recibe ese ping en el intervalo esperado, te dispara una alerta. Es decir, la ausencia de buenas noticias es la alerta. Este patrón se llama "dead man's switch" y es brillante por su simplicidad.

Ejemplo en un backup nocturno:

0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 5 https://hc-ping.com/TU-UUID > /dev/null

Si backup.sh falla, el curl no se ejecuta, Healthchecks no recibe el ping y te avisa a los pocos minutos. Ideal para cualquier tarea programada: backups, rotación de logs, limpieza de temporales, renovación de certificados, envío de reportes, etc.

Opciones gratuitas

Los planes gratuitos alcanzan para la mayoría de proyectos pequeños y medianos:

  • UptimeRobot: 50 monitores con intervalo de 5 minutos.
  • Healthchecks.io: 20 chequeos de cron con integraciones a Slack, Discord, email y más.
  • Better Stack (antes Better Uptime): plan free con 10 monitores y status page.
  • Cronitor: similar a Healthchecks, con plan gratuito para pocos chequeos.

La combinación ideal

Nuestra recomendación para clientes de hosting y VPS es combinar ambas capas: un monitor interno (Netdata, Monit, Uptime Kuma en otra máquina) para saber por qué algo falla, y un monitor externo (UptimeRobot para HTTP, Healthchecks para cron) para garantizar que siempre te enteres cuando algo falla, incluso si tu servidor se apagó por completo. Con esa combinación tenés un nivel de visibilidad profesional con un costo prácticamente cero.