Check HTTP

Supported OS

Versión de la integración12.0.0

Información general

Monitoriza el estado activado o desactivado de los endpoints HTTP locales o remotos. El check HTTP puede detectar códigos de respuesta con errores (como 404), identificar certificados SSL a punto de vencer, buscar respuestas para texto específico y mucho más. El check también envía los tiempos de respuesta HTTP en forma de métrica.

Configuración

Instalación

El check HTTP está incluido en el paquete del Datadog Agent package, por lo que no necesitas instalar nada más en tu servidor. Aunque muchos checks orientados a métricas se ejecutan mejor en el mismo host como el servicio monitorizado, es posible que quieras ejecutar este check orientado al estado a partir de los hosts que no ejecutan los sitios monitorizados.

Configuración

Edita el archivo http_check.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent. Consulta el ejemplo de http_check.d/conf.yaml para conocer todas las opciones de configuración disponibles.

init_config:

instances:
  - name: Example website
    url: https://example.com/

  - name: Example website (staging)
    url: http://staging.example.com/

El check HTTP tiene más opciones de configuración que otros checks. La mayoría de las opciones son opcionales, por ejemplo: el Agent no controla la validación SSL a menos que se configuren las opciones correspondientes. En concreto, el Agent controla los certificados SSL a punto de vencer de manera predeterminada.

Este check se ejecuta en cada ejecución del recopilador del Agent, que es cada 15 segundos de forma predeterminada. Si quieres definir una frecuencia de ejecución personalizada para este check, consulta la sección sobre intervalos de recopilación en la documentación del check personalizado.

Consulta el ejemplo de http_check.d/conf.yaml para conocer todas las opciones de configuración disponibles.

ParámetroDescripción
nameEl nombre de la instancia del check HTTP. Este se presenta como una etiqueta (tag) en los checks de servicios.
urlLa URL que vas a testear.
timeoutEl tiempo en segundos para permitir una respuesta. El valor predeterminado es 10.
methodEl método HTTP que vas a utilizar para el check.
dataUtiliza este parámetro para especificar un cuerpo para una solicitud con un método POST, PUT, DELETE o PATCH. Las solicitudes SOAP son compatibles si utilizas el método POST y especificas una cadena XML como parámetro de datos.
headersEste parámetro te permite enviar cabeceras adicionales con la solicitud. Consulte el archivo YAML de ejemplo para obtener información adicional y advertencias.
content_matchUna cadena o expresión regular Python. El check HTTP busca este valor en la respuesta y lo informa como DOWN si no encuentra la cadena o expresión.
reverse_content_matchCuando se define como true, invierte el comportamiento de la opción content_match, es decir, el check HTTP informa el valor como DOWN si SÍ encuentra la cadena o expresión de content_match (de manera predeterminada, es false).
username y passwordSi tu servicio utiliza una autenticación básica, puedes especificar aquí el nombre de usuario y la contraseña.
http_response_status_codeUna cadena o expresión regular Python para un código de estado HTTP. Este check informa un valor como DOWN para cualquier código de estado que no coincida. La forma predeterminada de este valor es como códigos de estado HTTP 1xx, 2xx y 3xx. Por ejemplo: 401 o 4\d\d.
include_contentCuando se define como true, el check incluye los primeros 500 caracteres del cuerpo de la respuesta HTTP en notificaciones. El valor predeterminado es false.
collect_response_timeDe manera predeterminada, el check recopila el tiempo de respuesta (en segundos) como la métrica network.http.response_time. Para deshabilitarlo, define este valor como false.
tls_verifyIndica al check que valide el certificado TLS de los servicios cuando llegue a url.
tls_ignore_warningSi tls_verify está definido como true, deshabilita cualquier advertencia de seguridad de la conexión SSL.
tls_ca_certEste parámetro te permite anular la ruta predeterminada del certificado especificada en init_config.
check_certificate_expirationCuando check_certificate_expiration está habilitado, el servicio de checks comprueba la fecha de vencimiento del certificado SSL. Nota: Esto hace que se valide el certificado SSL, independientemente del valor del parámetro tls_verify.
tls_retrieve_non_validated_certSi tls_verify está definido como false y check_certificate_expiration como true, configurar este parámetro como true permite examinar el certificado en busca de una fecha de vencimiento.
days_warning y days_criticalSi check_certificate_expiration está habilitado, estos parámetros emiten una advertencia o una alerta crítica cuando el certificado SSL se encuentra dentro del número de días especificado para su vencimiento.
ssl_server_nameCuando check_certificate_expiration está habilitado, este parámetro especifica el nombre del host del servicio al que debe conectarse y también anula el host con el que debe coincidir si check_hostname está habilitado.
check_hostnameSi se define como true, el check genera una advertencia si el nombre del host de url es diferente del nombre del host del certificado SSL.
skip_proxySi se define, el check omite la configuración del proxy e intenta acceder directamente a la URL del check. La configuración predeterminada en este caso es false. Si no se define, la configuración predeterminada del proxy de esta integración es la configuración del proxy definida en el archivo de configuración datadog.yaml.
allow_redirectsEste parámetro permite que el check de servicios siga las redirecciones HTTP. De manera predeterminada, es true.
tagsUna lista de etiquetas arbitrarias asociadas al check. Para obtener más información sobre las etiquetas, consulta la guía de etiquetado y la entrada del blog, El poder de las métricas etiquetadas.

Cuando hayas terminado de configurar http_check.d/conf.yaml, reinicia el Agent para empezar a enviar checks de servicio HTTP y tiempos de respuesta a Datadog.

Validación

Ejecuta el subcomando status del Agent y busca http_check en la sección Checks.

Datos recopilados

Métricas

network.http.response_time
(gauge)
Tiempo de respuesta de una solicitud HTTP a una url determinada, etiquetada por url, por ejemplo ‘url:http://example.com’.
Se muestra como segundo
network.http.can_connect
(gauge)
Si el check puede conectarse, 1 si es cierto, 0 en caso contrario. Etiquetado por url, por ejemplo ‘url:http://example.com’.
network.http.cant_connect
(gauge)
Si el check no se pudo conectar, 1 si es cierto, 0 en caso contrario. Etiquetado por url, por ejemplo ‘url:http://example.com’.
http.ssl.days_left
(gauge)
Días hasta la caducidad del certificado SSL
Se muestra como día
http.ssl.seconds_left
(gauge)
Segundos hasta la caducidad del certificado SSL
Se muestra como segundo

Eventos

El check HTTP no incluye eventos.

Checks de servicio

http.can_connect

Devuelve CRITICAL si el Agent no puede establecer una conexión HTTP con la URL. Devuelve OK si la conexión se realiza con éxito.

Estados: ok, crítico

http.ssl_cert

Devuelve CRITICAL si el certificado SSL ha caducado. Devuelve WARNING si el certificado SSL caducará en menos del umbral configurado. En caso contrario, devuelve OK.

Estados: ok, advertencia, crítico, desconocido

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.