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 HTTPChequeo TCP
Qué haceHace un GET a la URLAbre una conexión a host:puerto
Cuenta como correctoCódigo de estado esperado (por defecto 2xx–3xx)El puerto acepta la conexión dentro del timeout
Valida contenidoSí, con palabra clave presente o ausenteNo
Ideal paraSitios, tiendas, APIs, endpoints de saludPostgreSQL, MySQL, SMTP, Redis, servidores de juego
Ejemplo de destinohttps://tusitio.com/healthdb.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:

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

  1. Un monitor HTTP para la página principal y otro para el endpoint de salud o la API.
  2. Una palabra clave en el endpoint de salud que solo aparezca cuando todo funciona.
  3. 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.