Guías
Chequeo HTTP vs TCP: cuál usar para monitorear tu servicio
Por Núcleo Studio · Publicado el
Usa un chequeo HTTP para sitios web y APIs, y un chequeo TCP para servicios que no hablan HTTP, como bases de datos, servidores de correo o Redis. El chequeo HTTP verifica la respuesta de una URL (código de estado y, opcionalmente, su contenido); el TCP solo verifica que un puerto acepte conexiones.
Comparativa rápida
| Chequeo HTTP | Chequeo TCP | |
|---|---|---|
| Qué hace | Hace un GET a la URL | Abre una conexión a host:puerto |
| Cuenta como correcto | Código de estado esperado (por defecto 2xx–3xx) | El puerto acepta la conexión dentro del timeout |
| Valida contenido | Sí, con palabra clave presente o ausente | No |
| Ideal para | Sitios, tiendas, APIs, endpoints de salud | PostgreSQL, MySQL, SMTP, Redis, servidores de juego |
| Ejemplo de destino | https://tusitio.com/health | db.ejemplo.com:5432 |
Cuándo usar HTTP
Es la opción por defecto para cualquier cosa que se abra en un navegador o se consuma por API. Dos ajustes evitan falsos positivos y falsos negativos:
- Código de estado esperado. Algunos endpoints responden legítimamente
401,403o302. Puedes indicar qué códigos cuentan como correctos: un valor (200), una lista (200,204) o un rango (2xx,200-299). - Palabra clave. Un sitio puede responder
200 OKy aun así mostrar "Database connection failed". Exigir que la respuesta contenga una palabra (por ejemplohealthy), o que no contenga un mensaje de error, detecta ese caso.
Cuándo usar TCP
Una base de datos no responde a un GET, pero sí acepta conexiones en su puerto. Un chequeo TCP ahost:puerto confirma que el servicio está escuchando. Es la forma más simple de vigilar PostgreSQL (5432), MySQL (3306), Redis (6379) o SMTP (25/587).
Limitación: que el puerto esté abierto no garantiza que el servicio funcione correctamente por dentro. Si puedes exponer un endpoint HTTP de salud, combínalo con el chequeo TCP.
Recomendación práctica
- Un monitor HTTP para la página principal y otro para el endpoint de salud o la API.
- Una palabra clave en el endpoint de salud que solo aparezca cuando todo funciona.
- Un monitor TCP por cada base de datos o servicio de infraestructura que dependa de un puerto.
ATBaby soporta ambos tipos de chequeo, con intervalos desde 30 segundos según el plan.