Check HTTP(S)

Un monitor pide una URL desde un máximo de 6 regiones y comprueba la respuesta con tus aserciones. El mismo monitor puede comprobar también el certificado TLS, las cabeceras de seguridad y la higiene DNS.

Todos los tipos de check http

La vista del monitor de un check HTTP(S) con uptime y tiempos de respuesta. También muestra el panel del certificado, la calificación de cabeceras de seguridad y el hallazgo de higiene DNS.
En esta página

Qué verifica

Un monitor HTTP(S) pide la URL en su intervalo desde cada una de sus regiones. Comprueba el código de estado y, si lo defines, una palabra clave o una expresión regular en el cuerpo, y registra el tiempo de respuesta. Los subchecks opcionales de certificado, cabeceras de seguridad e higiene DNS se ejecutan en el mismo monitor, así que un host que falla abre un incidente, no cuatro.

Úsalo cuando

  • Un servicio tiene un endpoint HTTP que responde cuando el servicio está sano: una ruta de health, una página de inicio o una ruta de API.
  • La respuesta necesita una comprobación del contenido, no solo de que el endpoint responda: un código de estado, una cadena en el cuerpo o un patrón.
  • El certificado, la postura de cabeceras y los registros SPF, DMARC y CAA del dominio deben comprobarse en el mismo monitor, no en 3 monitores más.

No ejecuta recorridos de navegador, no inicia sesión y sigue como máximo 5 redirecciones. Para un puerto sin HTTP, usa el check de puerto TCP. Para un certificado que merece su propio incidente, usa el check de certificado TLS.

El formulario de monitor con el tipo HTTP(S): la URL, 3 interruptores de subcheck y las aserciones de estado, texto del cuerpo y regex. Los interruptores cubren el certificado TLS, las cabeceras de seguridad y la higiene DNS.
El formulario HTTP(S) con la URL, 3 interruptores de subcheck y las aserciones. Interfaz real del producto, datos de ejemplo.

Configuración

Objetivo. Una URL completa con esquema (https:// o http://). La sonda resuelve y valida la URL y cada salto de redirección antes de pedirlos. Rechaza las direcciones de loopback, privadas, link-local y de metadatos de nube, así que el monitor no puede apuntar a una red interna.

CampoObligatorioValores y valor por defectoSignificado
urlURLURL completa con esquemaLa dirección que pide la sonda. Sigue hasta 5 saltos de redirección, y cada salto pasa la misma validación de objetivo.
expected_statusEstado esperadoopcionalCódigo de estado exacto, por defecto: cualquier 2xxLa respuesta debe llevar exactamente este código de estado. Déjalo vacío para aceptar cualquier 2xx.
keywordEl cuerpo contiene (texto)opcionalCadenaEl cuerpo de la respuesta debe contener este texto. Se distinguen mayúsculas y minúsculas. Todas las aserciones se combinan con AND.
expected_regexEl cuerpo coincide con la regexopcionalExpresión regularEl cuerpo de la respuesta debe coincidir con este patrón.
methodopcionalMétodo HTTP, por defecto GETEl método de la petición, que se fija por API o MCP. El formulario siempre envía GET.
headersopcionalMapa de nombre de cabecera a valorLas cabeceras de petición que envía la sonda, por ejemplo Accept, que se fijan por API o MCP. Host se ignora, y las cabeceras solo siguen una redirección dentro del mismo origen.
interval_secondsIntervalo del checkopcionalSegundos, por defecto 300, máximo 24 h, mínimo según el planCada cuánto ejecuta el check cada región. Un valor por debajo del mínimo del plan se eleva a ese mínimo, no se rechaza.
regionsRegionesopcionalSubconjunto de na, eu, as, sa, af, oce. Por defecto: las regiones del planQué continentes ejecutan el check. Si lo omites, el plan aplica su conjunto por defecto.
address_familiesFamilias IPopcional["ipv4"] (por defecto) o ["ipv4", "ipv6"]La sonda comprueba por separado cada dirección resuelta de cada familia seleccionada. Con las dos familias, family_fail_severity (degraded por defecto, o failed) fija el estado cuando falla una familia.

Certificado TLS

En una URL https, el mismo monitor evalúa el certificado que le entrega el servidor: el handshake, la cadena, el emisor y el sujeto. El formulario activa este subcheck para cada URL https.

CampoObligatorioValores y valor por defectoSignificado
tls_cert.enabledtrueActiva el subcheck.
tls_cert.portopcionalPuerto, por defecto: el puerto de la URL o 443El puerto del handshake TLS.
tls_cert.warn_daysopcionalDías, por defecto 14Por debajo de esta vida restante, el check lleva un aviso de certificado, y propietarios y administradores reciben cada hora un correo y un aviso en la app. El aviso nunca cambia el estado, pero un certificado caducado hace fallar el check.
tls_cert.issuer_regexopcionalExpresión regularEl emisor debe coincidir, por ejemplo Let's Encrypt.
tls_cert.subject_regexopcionalExpresión regularEl nombre común del sujeto debe coincidir.
tls_cert.allow_self_signedopcionalfalse (por defecto) o trueOmite las comprobaciones de confianza, nombre de host y fecha en el handshake. Úsalo solo para servicios internos con CA propia. La caducidad y las aserciones regex siguen aplicándose.

Cabeceras de seguridad

La sonda envía una segunda petición y busca en su respuesta las cabeceras seleccionadas. Solo cuenta su presencia. Una cabecera ausente es un hallazgo de postura, no una caída, así que la gravedad por defecto es degraded.

CampoObligatorioValores y valor por defectoSignificado
security_headers.enabledtrueActiva el subcheck.
security_headers.headersUna o varias de strict-transport-security, content-security-policy, x-content-type-options, x-frame-options o referrer-policyLas cabeceras que deben estar presentes.
security_headers.missing_severityopcionaldegraded (por defecto) o failedQué hace una cabecera ausente con el estado del monitor.

Higiene DNS

La sonda lee SPF, DMARC y CAA del dominio como configuración. Estos registros deciden si el correo del dominio se entrega y quién puede emitir certificados para él. El hallazgo aparece con el resultado y nunca cambia el estado del monitor.

CampoObligatorioValores y valor por defectoSignificado
dns_hygiene.enabledtrueActiva el subcheck.
dns_hygiene.domainopcionalDominio, por defecto: el host de la URLEl dominio cuyos registros lee la sonda.

Cómo se ejecuta un check

  1. Cuando toca un check, cada región compila primero la regex. Una regex inválida termina el check como error. Cada check expira a los 10 s.
  2. El nodo resuelve el host con su propio resolver y valida cada dirección de la familia seleccionada contra los rangos bloqueados. Después, cada dirección recibe su propia petición, con la conexión fijada a esa dirección.
  3. La propia sonda sigue las redirecciones, como máximo 5 saltos. Resuelve y valida de nuevo cada salto antes de pedirlo.
  4. La sonda evalúa primero el código de estado y después la palabra clave y la regex. Solo lee el cuerpo cuando una de las dos está definida, y todas las aserciones se combinan con AND.
  5. Solo un check https superado con el subcheck de certificado TLS activado ejecuta la política de certificado, una vez por check. Un check superado o degradado añade la calificación de cabeceras y el hallazgo de higiene DNS como subresultados separados.
  6. La región envía su resultado al control plane. La política de alertas decide si un resultado fallido abre un incidente cuando el quórum lo confirma. Un resultado degradado queda fuera de la evaluación de incidentes.
La vista del monitor de un check HTTP(S) con uptime y tiempos de respuesta. También muestra el panel del certificado, la calificación de cabeceras de seguridad y el hallazgo de higiene DNS.
La vista del monitor con uptime, tiempo de respuesta y P95, además de la postura de seguridad de certificado, cabeceras e higiene DNS. Interfaz real del producto, datos de ejemplo.

Qué contiene un resultado

Código de estado
El estado final tras las redirecciones, evaluado frente a expected_status.
Tiempo de respuesta
Tiempo hasta la respuesta, cuerpo incluido cuando se lee, por región y por dirección (latency_ms).
Línea de detalle
Una línea que dice qué ha pasado, por ejemplo HTTP 200, keyword not found o regex did not match. También nombra un estado inesperado o el error de transporte.
Capa de causa
Si el fallo está en el DNS del objetivo (nombre no encontrado) o, tras una resolución correcta, en el propio objetivo. Cualquier otra causa se registra como unknown.
Certificado
Nombre común y nombres alternativos, emisor, fechas de validez con los días restantes y estado de confianza.
Cabeceras de seguridad
Cuáles de las cabeceras pedidas estaban presentes y cuáles faltaban.
Higiene DNS
Los hallazgos de SPF, DMARC y CAA, por ejemplo una política DMARC en none o un registro CAA ausente.
Región, familia, dirección
Cada resultado lleva la región que lo midió, y un subresultado por familia IP y por dirección.

Estados y gravedad

  • okEl código de estado coincide y todas las aserciones se cumplen. Un certificado dentro de su ventana de aviso mantiene este estado.
  • degradadoFalta una cabecera de seguridad con la gravedad por defecto, o falla una familia IP mientras la otra responde.
  • caídoLa petición falla, expira o se bloquea, o no coinciden el código de estado o una aserción. También cuentan una política de certificado fallida (caducado, handshake rechazado, emisor o sujeto no coincidente) y una cabecera ausente con gravedad failed.
  • errorLa configuración no se puede ejecutar, por ejemplo por una regex inválida. Cuenta como caída con gravedad critical.

Confirmado por quórum: por defecto, 2 regiones deben informar del fallo antes de que se abra un incidente. El valor por defecto de la organización pide 2 regiones y 2 checks consecutivos. Un monitor puede llevar su propia regla con número o porcentaje, checks consecutivos y una duración mínima.

Planes y límites

Intervalo mínimo
300 s en Free, 60 s en Pulse, 30 s en Sentinel, 15 s en Command y 10 s en Enterprise. El formulario web ofrece 30 s, 1 min, 5 min, 15 min y 1 h. Los mínimos de 15 s y 10 s solo se alcanzan por MCP.
Regiones
2 de 6 en Free, 3 de 6 en Pulse y las 6 desde Sentinel.
Monitores
10 en Free, 50 en Pulse, 150 en Sentinel, 500 en Command y un cupo a medida en Enterprise. Once tipos de check de sonda comparten este cupo, mientras que los agentes de host y los heartbeats tienen la suya. Un paquete de 50 monitores más cuesta 39 €.

Comparar todos los límites

Desde la pipeline o un agente

La misma config sirve en el paso de despliegue, en un cliente MCP como Claude Code y en el formulario de arriba. create_monitor necesita una clave de API válida para toda la organización. Si omites regions, el plan aplica su valor por defecto.

{
  "name": "Order API",
  "type": "http",
  "interval_seconds": 60,
  "config": {
    "url": "https://orders.example.com/health",
    "expected_status": 200,
    "keyword": "ok",
    "tls_cert": { "enabled": true, "warn_days": 21 },
    "security_headers": {
      "enabled": true,
      "headers": ["strict-transport-security", "content-security-policy"],
      "missing_severity": "degraded"
    },
    "dns_hygiene": { "enabled": true }
  }
}

Cada interfaz, con su límite

Límites

  • La sonda no ejecuta recorridos de navegador ni JavaScript, y no sigue flujos de inicio de sesión. No envía cuerpo de petición ni cookies.
  • El método y las cabeceras de petición se fijan por API o MCP, no en el formulario.
  • La sonda sigue como máximo 5 saltos de redirección, y una cadena más larga hace fallar el check.
  • La calificación de cabeceras de seguridad comprueba la presencia, no los valores.
  • La sonda rechaza los objetivos en direcciones privadas, de loopback, link-local y de metadatos de nube.
  • No todas las regiones sondean IPv6, así que seleccionar ipv6 restringe las regiones utilizables.

Todos los tipos de check