10 min de lecturaIntegraciones

Monitorización de URL en Datadog: métricas de redirección para enlaces cortos

Monitorización de URL en Datadog para enlaces cortos: los logs y las métricas de clics que envía Elido, un dashboard de latencia de redirección basado en Synthetics, monitores y un SLO realista.

Marius Voß
DevRel · edge infra
Monitorización de URL en Datadog para enlaces cortos: logs de clics de Elido y métricas de clics por minuto, además de una sonda de Synthetics que alimenta un dashboard de latencia de redirección

La monitorización de URL de los enlaces cortos de Elido en Datadog procede de dos fuentes. El propio Elido envía los datos de clics: un log por clic al intake de Logs de Datadog, además de tres métricas de recuento de clics enviadas cada 60 segundos. No envía la latencia de redirección ni los códigos de estado. Para eso, apunta un test HTTP de Datadog Synthetics a un enlace corto canario, y el dashboard de latencia de redirección, los monitores y el SLO se construyen sobre ese par.

Esa separación es todo el diseño. La parte de clics te dice cuántas personas pasaron por tus enlaces y desde dónde, mientras que la parte sintética te dice si la redirección respondió, con qué rapidez y con el estado correcto. En este artículo se explican las formas exactas de las métricas y los logs, cómo conectarlos, qué poner en el dashboard y dónde termina su alcance.

Si has llegado aquí por la latencia, lee primero cómo funciona el presupuesto de p95 inferior a 15 ms. Explica cómo es un valor saludable antes de que elijas un umbral.

Lo que Elido envía realmente a Datadog

Cada clic de un workspace conectado sigue dos rutas. La ruta de logs publica un lote de una sola entrada en https://http-intake.logs.<site>/api/v2/logs, justo después de registrar el clic. La ruta de métricas incrementa un contador en memoria y un flusher publica los recuentos en https://api.<site>/api/v2/series una vez por minuto. Ambas se autentican con la cabecera DD-API-KEY.

SeñalNombre en DatadogFrecuenciaEtiquetas y campos
Log de clicsource:elido, el mensaje empieza por link_clickUno por clicworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Recuento de clicselido.clicksCada 60 sworkspace_id, vendor:elido
Clics por paíselido.clicks_by_countryCada 60 slo anterior más country
Clics por dispositivoelido.clicks_by_deviceCada 60 slo anterior más device

Las métricas son gauges y el valor es el número de clics contabilizados desde el envío anterior. Por tanto, un punto de 37 significa 37 clics aproximadamente en el último minuto. Es la unidad natural para un gráfico de operaciones, y significa que debes sumar a lo largo del tiempo para obtener totales en lugar de aplicar as_count(). Observa lo que falta: las métricas no tienen ninguna etiqueta link_id ni slug. Me parece una decisión sensata en términos de costes, porque Datadog factura las métricas personalizadas por combinación de etiquetas única, y una etiqueta slug en un workspace con mucho tráfico multiplicaría el número de series por el número de enlaces.

Los campos del log llegan anidados bajo un objeto attributes, así que en Log Explorer las facetas tienen este aspecto: @attributes.slug y @attributes.country. Expande un log antes de construir nada. Tardarás diez segundos y evitarás una consulta rota.

Conectar Datadog en tu workspace de Elido

La configuración tiene dos campos. Necesitas una clave de API de Datadog (no una clave de aplicación) y el sitio en el que funciona tu organización.

  1. En Datadog, abre Organization Settings, después API Keys, y crea una con un nombre como elido-forwarder.
  2. Comprueba tu sitio. La guía de sitios de Datadog relaciona cada URL de inicio de sesión con su sitio; app.datadoghq.eu significa que debes introducir datadoghq.eu, mientras que us5.datadoghq.com significa que debes introducir exactamente ese valor.
  3. En Elido, abre Integrations, elige Datadog, pega la clave, escribe el sitio y guarda. La clave se cifra en reposo.
  4. Espera hasta cinco minutos, porque el forwarder almacena en caché la configuración de integración del workspace; después, haz clic en uno de tus propios enlaces desde un teléfono y busca source:elido en Log Explorer.

Si dejas el sitio vacío, Elido da por hecho que es datadoghq.com. Para una organización de la UE, ese es el fallo silencioso clásico. Un error tipográfico produce lo mismo. Todos los POST fallan y nadie ve el error.

El botón Test connection envía un log de prueba (marcado con elido_test: true) a tu sitio de Datadog y muestra la respuesta de Datadog, así que una clave o un sitio incorrectos fallan ahí mismo con el 403 de Datadog. Que pase la prueba demuestra que la clave funciona, no que tus pipelines e índices conserven los logs, por lo que la prueba real sigue siendo que aparezca un log de clic. Se aplica la misma regla que al forwarder de clics de Mixpanel: clic real o no ha ocurrido.

Crear un dashboard de latencia de redirección que mida el salto

Como Elido no envía tiempos, los datos de latencia tienen que proceder de algo que haga solicitudes. Un test HTTP de Datadog Synthetics es la herramienta adecuada, y mide lo que percibe el visitante, incluidos DNS y TLS.

Flujo de datos de monitorización de URL en Datadog: los clics de visitantes reales pasan por la redirección de Elido y se reenvían como logs de clics y una métrica elido.clicks por minuto, mientras una sonda de Datadog Synthetics solicita un enlace corto canario con las redirecciones desactivadas y registra el estado y el tiempo de respuesta; ambas fuentes alimentan un dashboard de latencia de redirección

Este es el test que configuro en cada workspace:

  • URL: un enlace canario dedicado, idealmente en tu propio dominio personalizado, que apunte a algún destino sencillo y estable.
  • Seguir redirecciones: desactivado. Si lo activas, medirás el tiempo de tu página de destino, y una imagen principal lenta te despertará a las 3:00 para avisarte de una redirección que estaba bien.
  • Aserciones: el código de estado es 302 (el predeterminado; usa 301 o 307 si eso es lo que has configurado, y 301 frente a 302 explica la diferencia), la cabecera location contiene tu destino y el tiempo de respuesta está por debajo de un umbral.
  • Ubicaciones: al menos tres, con una en la región de la UE en la que esté tu audiencia. Ejecuta el test cada minuto.
  • Cabecera: un User-Agent que contenga bot, para que Elido trate la sonda como un bot y omita el evento de clic.

Elige el umbral a partir de lo que observes durante una semana, no de lo que diga un artículo. Las mediciones sintéticas incluyen la propia ruta de red de la sonda, así que una sonda en otro continente nunca coincidirá con un valor de la región, y no pasa nada. Lo que buscas es una línea que se mantenga plana.

El dashboard necesita entonces cuatro widgets. Tiempo de respuesta por ubicación, como serie temporal del test sintético. Tasa de aserciones superadas. Clics por minuto de elido.clicks. Y una lista de los países principales.

# Clicks per minute across the workspace (gaps become zeros)
default_zero(sum:elido.clicks{workspace_id:42})

# Hourly click totals
sum:elido.clicks{workspace_id:42}.rollup(sum, 3600)

# Top 10 countries over the dashboard window
top(sum:elido.clicks_by_country{workspace_id:42} by {country}, 10, 'sum', 'desc')

¿Por qué default_zero? Porque un minuto sin clics no produce ningún punto y, sin la función de interpolación, Datadog dibuja una línea recta a través del hueco. Esa línea miente.

Monitores para detectar caídas de clics y enlaces cortos rotos

Tres monitores cubren la mayoría de los problemas de los enlaces, y cada uno usa una fuente distinta. Ahí es donde la separación de la primera sección demuestra su utilidad.

Redirección rota o lenta. El test sintético ya es un monitor. Envía una alerta cuando fallen dos o más ubicaciones en la misma ejecución, para que una región de sondas inestable no despierte a nadie. Cualquier respuesta distinta de tu 302 hace fallar la aserción de estado, así que un enlace canario eliminado, caducado o pausado aparecerá aquí como un 404 o un 410.

Tráfico detenido. Crea un monitor de métricas sobre sum:elido.clicks{workspace_id:42} y activa la notificación por ausencia de datos después de, por ejemplo, 30 minutos. Como Elido no envía nada durante un minuto sin actividad, aquí "sin datos" significa realmente "sin clics", que es el evento que te importa durante una campaña.

Tráfico anómalo. Un monitor de anomalías sobre la misma métrica, con la dirección configurada como inferior, detecta una campaña que normalmente consigue 4.000 clics por hora y de repente consigue 200. He visto ese patrón tres veces y, en cada ocasión, la causa estaba fuera del enlace: un anuncio rechazado, un boletín enviado al segmento equivocado o un cartel con código QR detrás de un andamio. Dale un par de semanas de historial antes de confiar en sus bandas.

¿Quieres alertas por enlace? Las métricas no pueden hacerlo, pero los logs sí. Crea una métrica basada en logs a partir de source:elido, agrupada por @attributes.slug, y obtendrás un recuento de clics por slug que podrás monitorizar. Limítala a un conjunto filtrado de slugs de campaña o el coste de la cardinalidad volverá a entrar por la puerta de atrás.

Un SLO que realmente puedes defender

Un objetivo de nivel de servicio para un enlace corto solo significa algo si su fuente mide la redirección. Créalo sobre el test sintético. Un SLO basado en un monitor cuyo monitor sea ese único test cumple la función.

Diseño de un dashboard de latencia de redirección en Datadog: tiempo de respuesta sintético por ubicación, tasa de aserciones superadas, elido.clicks por minuto con default_zero, países principales a partir de elido.clicks_by_country, tres monitores para redirección rota, tráfico detenido y anomalías de clics, y un SLO basado en un monitor sobre el test canario

Yo empezaría con un 99,9 % durante 30 días. Son unos 43 minutos de checks fallidos al mes, y es un presupuesto que puedes explicar a una persona responsable de marketing en una sola frase. No lo construyas sobre el volumen de clics. Los clics miden la demanda, no la salud; un enlace en el que nadie hace clic tiene una disponibilidad perfecta.

Si echabas de menos una línea plana en ese widget del SLO, configura un workspace, apunta el canario a tu propio dominio y ejecútalo durante una semana antes de establecer el objetivo.

Elido autoalojado: extraer los contadores de redirecciones

En una instalación autoalojada tienes una fuente más. El servicio de redirección expone un endpoint de Prometheus en /metrics, y el check de OpenMetrics del Datadog Agent puede extraerlo. La serie útil es elido_edge_redirect_total, un contador con las etiquetas fleet y outcome, cuyos resultados incluyen ok, notfound, expired, paused y error.

Eso te proporciona lo que no ofrece la integración SaaS: una tasa real de 404 en todo el tráfico, calculada como notfound dividido entre el total. Un segundo contador, edge_redirect_clicks_filtered_bot_total, muestra cuántas redirecciones se sirvieron a bots sin un evento de clic. Sin embargo, ese endpoint no tiene un histograma de latencia. La latencia sigue procediendo de Synthetics, tanto si es autoalojado como si no. El manual de autoalojamiento de Elido en k3s explica dónde se encuentra ese endpoint en el despliegue.

Hasta dónde llega la integración de Datadog

Ahora, los límites que probablemente te afecten primero.

La entrega se hace con el mejor esfuerzo. Un POST de log fallido recibe un reintento después de un segundo y luego se descarta. Un envío de métricas fallido no se reintenta; ese minuto se pierde y la siguiente ventana empieza limpia. Trata elido.clicks como una línea de tendencia y reconcilia los totales con la analítica de clics propia de Elido, que es la fuente de verdad.

Los logs contienen la IP del visitante y la URL de destino completa, incluidas las etiquetas UTM. Si tu organización de Datadog está en EE. UU., esos son datos personales que salen de la UE, y la guía de residencia de datos en la UE para equipos de marketing explica cómo valorarlo. Como mínimo, elige el sitio de la UE si tienes uno.

El coste de los logs aumenta con los clics, uno por cada log ingerido. Un enlace viral genera una factura viral. Los filtros de exclusión o una métrica basada en logs combinada con un índice de retención breve ayudan a mantenerlo bajo control.

Y el alcance son los clics. No hay eventos de creación de enlaces, conversiones, latencia ni códigos de estado. Sinceramente, no estoy seguro de que un forwarder de clics deba transportar también la latencia; la sonda que mide desde fuera es, en cualquier caso, el testigo más veraz.

Lee el artículo principal → Conseguir un p95 inferior a 15 ms para las redirecciones

Relacionado en el blog

Preguntas frecuentes

¿Puedo monitorizar enlaces cortos en Datadog?

Sí, desde dos direcciones. Elido reenvía cada clic a Datadog como un log y envía recuentos de clics por minuto como métricas, lo que cubre el volumen de tráfico. Para la disponibilidad y la latencia, añade un test HTTP de Datadog Synthetics contra un enlace corto canario, que mide la redirección desde fuera tal como la experimenta un visitante.

¿Qué métricas envía Elido a Datadog?

Tres métricas gauge, enviadas una vez por minuto por workspace: elido.clicks con el recuento de clics de la ventana, elido.clicks_by_country con una etiqueta de país y elido.clicks_by_device con una etiqueta de dispositivo. Todas llevan las etiquetas workspace_id y vendor:elido. Además, cada clic se envía como un log con source elido.

¿Envía Elido la latencia de redirección a Datadog?

No. La integración envía clics, no tiempos, y el payload no contiene ninguna métrica de latencia ni de código de estado. Crea el dashboard de latencia de redirección a partir de un test HTTP de Datadog Synthetics, con el seguimiento de redirecciones desactivado, para que el tiempo de respuesta que representes sea solo el del salto de redirección y no el de tu página de destino.

¿Qué sitio de Datadog debe usar un workspace de la UE?

Usa el sitio en el que está tu organización de Datadog, escrito como dominio sin más, por ejemplo datadoghq.eu para el sitio de la UE. Si dejas el campo vacío, Elido recurre a datadoghq.com, el sitio de EE. UU., y una organización de la UE no verá nada de lo que llegue allí.

¿Por qué mi métrica de clics de Elido muestra que no hay datos en lugar de cero?

Elido solo envía un punto para un minuto en el que el workspace tuvo al menos un clic. Un minuto sin actividad no produce ningún punto, así que Datadog muestra un hueco. Envuelve la consulta en default_zero() en los dashboards y usa una alerta de ausencia de datos cuando quieras detectar que el tráfico se ha detenido por completo.

¿Los checks sintéticos de Datadog cuentan como clics en Elido?

Pueden hacerlo. Elido omite el evento de clic para los agentes de usuario que coinciden con su lista de bots, como los que contienen la palabra bot o librerías HTTP habituales. Configura una cabecera User-Agent personalizada en el test sintético que incluya bot y apunta el test a un enlace canario dedicado, para que las sondas nunca inflen las cifras de las campañas.

Prueba Elido

Pega una URL, obtén un enlace corto

Sin registro. El enlace vive 30 días. Crea una cuenta para conservarlo.

Gratis, sin registro · 2 por día

Prueba Elido

Acortador de URL alojado en la UE: dominios personalizados, análisis profundo y API abierta. Plan gratuito - sin tarjeta de crédito.

Etiquetas
datadog url monitoring
redirect latency dashboard
monitor short links in datadog
datadog synthetic monitoring
datadog slo for redirects
short link click metrics

Seguir leyendo