10 min de lectureIntégrations

Surveillance d'URL avec Datadog : métriques de redirection

Surveiller des liens courts dans Datadog : logs et métriques de clics d'Elido, tableau de bord de latence sur Synthetics, monitors et un SLO honnête.

Marius Voß
DevRel · edge infra

La surveillance d'URL avec Datadog pour les liens courts Elido vient de deux sources. Elido envoie lui-même les données de clics : un log par clic vers l'intake de logs Datadog, plus trois métriques de comptage de clics envoyées toutes les 60 secondes. Il n'envoie ni latence de redirection ni codes de statut. Pour ceux-ci, vous pointez un test HTTP Datadog Synthetics vers un lien court canari, et le tableau de bord de latence de redirection, les monitors et le SLO reposent tous sur cette paire.

Cette séparation est tout le design. Le côté clics dit combien de personnes sont passées par vos liens et d'où, et le côté synthétique dit si la redirection a répondu, à quelle vitesse et avec le bon statut. Cet article couvre les formes exactes des métriques et des logs, comment les connecter, quoi mettre sur le tableau de bord et où cela s'arrête.

Si la latence est la raison de votre venue, lisez d'abord comment fonctionne le budget p95 sous 15 ms. Il explique à quoi ressemble un chiffre sain avant de choisir un seuil.

Ce qu'Elido envoie réellement à Datadog

Chaque clic dans un espace de travail connecté emprunte deux chemins. Le chemin des logs poste un lot d'une seule entrée vers https://http-intake.logs.<site>/api/v2/logs, juste après l'enregistrement du clic. Le chemin des métriques incrémente un compteur en mémoire, et un flusher poste les comptes vers https://api.<site>/api/v2/series une fois par minute. Les deux s'authentifient avec l'en-tête DD-API-KEY.

SignalNom dans DatadogCadenceTags et champs
Log de clicsource:elido, message commençant par link_clickUn par clicworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Compteur de clicselido.clicksToutes les 60 sworkspace_id, vendor:elido
Clics par payselido.clicks_by_countryToutes les 60 sci-dessus plus country
Clics par appareilelido.clicks_by_deviceToutes les 60 sci-dessus plus device

Les métriques sont des gauges, et la valeur est le nombre de clics comptés depuis le flush précédent. Un point de 37 signifie donc 37 clics sur environ la dernière minute. C'est l'unité naturelle pour un graphique d'exploitation, et cela signifie que vous sommez dans le temps pour obtenir des totaux plutôt que d'appliquer as_count(). Notez ce qui manque : il n'y a pas de tag link_id ni slug sur les métriques. Je dirais que c'est un choix sensé sur le coût, car Datadog facture les métriques personnalisées par combinaison de tags unique, et un tag slug sur un espace de travail chargé multiplierait le nombre de séries par le nombre de liens.

Le log porte aussi link_id comme tag Datadog, et est tagué service:click-ingester avec l'hôte elido-edge : c'est donc le nom de service sur lequel filtrer. Les champs arrivent imbriqués sous un objet attributes, si bien que dans Log Explorer les facettes ressemblent à @attributes.slug et @attributes.country. Développez un log avant de construire quoi que ce soit. Dix secondes, et cela évite une requête cassée.

Connecter Datadog dans votre espace de travail Elido

La configuration tient en deux champs. Il vous faut une clé d'API Datadog (pas une clé d'application) et le site sur lequel tourne votre organisation.

  1. Dans Datadog, ouvrez Organization Settings, puis API Keys, et créez-en une nommée par exemple elido-forwarder.
  2. Vérifiez votre site. Le guide des sites Datadog associe chaque URL de connexion à son site ; app.datadoghq.eu signifie que vous saisissez datadoghq.eu, us5.datadoghq.com signifie que vous saisissez exactement cela.
  3. Dans Elido, ouvrez Intégrations, choisissez Datadog, collez la clé, saisissez le site et enregistrez. La clé est chiffrée au repos.
  4. Attendez jusqu'à cinq minutes, car le forwarder met en cache les réglages d'intégration de l'espace de travail, puis cliquez sur l'un de vos liens depuis un téléphone et cherchez source:elido dans Log Explorer.

Laissez le site vide et Elido suppose datadoghq.com. Pour une organisation européenne, c'est l'échec silencieux classique. Une faute de frappe produit le même effet. Chaque POST échoue, et personne ne voit l'erreur.

Le bouton Test connection envoie un log de test (marqué elido_test: true) à votre site Datadog et montre la réponse de Datadog : une clé ou un site erroné échoue donc tout de suite avec le 403 de Datadog. Un succès prouve que la clé fonctionne, pas que vos pipelines et index conservent les logs : la vraie preuve reste donc l'apparition d'un log de clic. Même règle que pour le forwarder de clics Mixpanel : un vrai clic, ou ça n'a pas eu lieu.

Construire un tableau de bord de latence qui mesure le saut

Puisqu'Elido n'envoie pas de temps, les données de latence doivent venir de quelque chose qui fait des requêtes. Un test HTTP Datadog Synthetics est le bon outil, et il mesure ce que ressent le visiteur, DNS et TLS compris.

Flux de données de la surveillance d'URL avec Datadog : les clics de vrais visiteurs passent par la redirection Elido et sont transmis sous forme de logs de clics et d'une métrique elido.clicks par minute.

Voici le test que je mets en place sur chaque espace de travail :

  • URL : un lien canari dédié, idéalement sur votre propre domaine personnalisé, pointant vers quelque chose d'ennuyeux et de stable.
  • Suivre les redirections : désactivé. Activé, vous chronométrez votre page d'atterrissage, et une image hero lente vous réveillera à 3 h du matin pour une redirection qui allait bien.
  • Assertions : le code de statut est 302 (la valeur par défaut ; utilisez 301 ou 307 si c'est ce que vous avez réglé, et 301 vs 302 explique le compromis), l'en-tête location contient votre destination, et le temps de réponse est sous un seuil.
  • Emplacements : au moins trois, dont un dans la région européenne où se trouve votre audience. Exécution toutes les minutes.
  • En-tête : un User-Agent contenant bot, pour qu'Elido traite la sonde comme un bot et ignore l'événement de clic.

Choisissez le seuil d'après ce que vous observez pendant une semaine, pas d'après un article de blog. Les temps synthétiques incluent le chemin réseau propre de la sonde : une sonde sur un autre continent n'égalera jamais un chiffre intra-région, et c'est très bien. Ce que vous voulez, c'est une ligne qui reste plate.

Le tableau de bord a ensuite besoin de quatre widgets. Le temps de réponse par emplacement, en série temporelle du test synthétique. Le taux de réussite des assertions. Les clics par minute depuis elido.clicks. Et une liste des premiers pays.

# 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')

Pourquoi default_zero ? Parce qu'une minute sans clic ne produit aucun point, et sans la fonction d'interpolation, Datadog trace une ligne droite à travers le trou. Cette ligne ment.

Des monitors pour les chutes de clics et les liens courts cassés

Trois monitors couvrent l'essentiel de ce qui peut mal tourner avec des liens, et chacun utilise une source différente, c'est là que la séparation de la première section est payante.

Redirection cassée ou lente. Le test synthétique est déjà un monitor. Alertez quand au moins deux emplacements échouent dans la même exécution, pour qu'une seule région de sonde instable ne réveille personne. Toute réponse autre que votre 302 échoue à l'assertion de statut : un lien canari supprimé, expiré ou en pause apparaît donc ici comme un 404 ou un 410.

Trafic arrêté. Créez un monitor de métrique sur sum:elido.clicks{workspace_id:42} et activez la notification pour données manquantes après, disons, 30 minutes. Comme Elido n'envoie rien pendant une minute calme, "no data" signifie ici vraiment "aucun clic", ce qui est l'événement qui vous importe pendant une campagne.

Trafic étrange. Un monitor d'anomalie sur la même métrique, avec la direction réglée sur en dessous, détecte une campagne qui fait normalement 4 000 clics par heure et qui en fait soudain 200. J'ai vu ce schéma trois fois, et chaque fois la cause était hors du lien : une publicité refusée, une newsletter envoyée au mauvais segment, une affiche QR derrière un échafaudage. Laissez-lui quelques semaines d'historique avant de faire confiance à ses bandes.

Vous voulez des alertes par lien ? Les métriques ne le peuvent pas, mais les logs oui. Créez une métrique basée sur les logs à partir de source:elido groupée par @attributes.slug, et vous obtenez un compteur de clics par slug que vous pouvez surveiller. Limitez-la à un ensemble filtré de slugs de campagne, sinon le coût de cardinalité revient par la petite porte.

Un SLO que vous pouvez défendre

Un objectif de niveau de service sur un lien court ne signifie quelque chose que si sa source mesure la redirection. Construisez-le sur le test synthétique. Un SLO basé sur un monitor avec ce seul test comme monitor fait l'affaire.

Disposition du tableau de bord de latence de redirection dans Datadog : temps de réponse synthétique par emplacement, taux de réussite des assertions, elido.clicks par minute avec default_zero, premiers pays d'après elido.clicks_by_country, trois monitors pour redirection cassée.

Je commencerais à 99,9 % sur 30 jours. Cela fait environ 43 minutes de vérifications échouées par mois, un budget que vous pouvez expliquer à un responsable marketing en une phrase. Ne le construisez pas sur le volume de clics. Les clics mesurent la demande, pas la santé ; un lien que personne ne clique est parfaitement disponible.

Si une ligne plate sur ce widget de SLO est ce qui vous manquait, créez un espace de travail, pointez le canari vers votre propre domaine et laissez-le tourner une semaine avant de fixer l'objectif.

Elido auto-hébergé : récupérer les compteurs de redirection

Si vous exécutez vous-même le service de redirection (possible uniquement comme déploiement Enterprise sous contrat dans votre propre infrastructure ; Elido n'est pas vendu comme produit auto-hébergé à télécharger), vous avez une source de plus. Le service de redirection expose un endpoint Prometheus sur /metrics, et le check OpenMetrics de l'Agent Datadog peut le scraper. La série utile est elido_edge_redirect_total, un compteur avec les labels fleet et outcome, dont les issues incluent ok, notfound, expired, paused, disabled, blocked, capped et error.

Cela vous donne ce que l'intégration SaaS n'offre pas : un vrai taux de 404 sur tout le trafic, calculé comme notfound sur le total. Un second compteur, edge_redirect_clicks_filtered_bot_total, montre combien de redirections ont été servies à des bots sans événement de clic. Il n'y a pas d'histogramme de latence sur cet endpoint, cependant. La latence vient toujours de Synthetics, auto-hébergé ou non. Le playbook d'auto-hébergement k3s précise où cet endpoint se situe dans le déploiement.

Où l'intégration Datadog s'arrête

Voici maintenant les limites, celles qui risquent de mordre en premier.

La livraison est au mieux, et elle provient du pipeline de clics : elle peut donc traîner un instant derrière la redirection. Un POST de log échoué reçoit une nouvelle tentative après une seconde puis est abandonné. Un flush de métriques échoué n'est pas retenté du tout ; cette minute est perdue, et la fenêtre suivante repart propre. Traitez elido.clicks comme une courbe de tendance et réconciliez les totaux avec l'analytique de clics d'Elido, qui est la source de vérité.

Les logs portent l'IP du visiteur et l'URL de destination complète, tags UTM compris. Si votre organisation Datadog est aux États-Unis, ce sont des données personnelles qui quittent l'UE, et le guide de la résidence des données européennes pour les équipes marketing explique comment l'évaluer. Au minimum, choisissez le site européen si vous en avez un.

Le coût des logs croît avec les clics, un log ingéré chacun. Un lien viral fait une facture virale. Des filtres d'exclusion, ou une métrique basée sur les logs associée à un index à courte rétention, la gardent raisonnable.

Et le périmètre, ce sont les clics. Pas d'événements de création de lien, pas de conversions, pas de latence, pas de codes de statut. Honnêtement, je ne suis pas sûr qu'un forwarder de clics doive porter la latence : la sonde qui mesure de l'extérieur est de toute façon le témoin le plus fidèle.

Les pages de documentation Datadog liées ci-dessus ont été consultées le 2026-10-25. Pour le budget de latence derrière la redirection, voir l'article sur le p95 sous 15 ms

À lire aussi sur le blog

Questions fréquentes

Puis-je surveiller des liens courts dans Datadog ?

Oui, depuis deux directions. Elido transmet chaque clic à Datadog sous forme de log et envoie des compteurs de clics par minute sous forme de métriques, ce qui couvre le volume de trafic. Pour la disponibilité et la latence, vous ajoutez un test HTTP Datadog Synthetics sur un lien court canari, qui mesure la redirection de l'extérieur comme la vit un visiteur.

Quelles métriques Elido envoie-t-il à Datadog ?

Trois métriques de type gauge, envoyées une fois par minute et par espace de travail : elido.clicks avec le nombre de clics de la fenêtre, elido.clicks_by_country avec un tag de pays, et elido.clicks_by_device avec un tag d'appareil. Toutes portent les tags workspace_id et vendor:elido. En parallèle, chaque clic est envoyé comme log avec la source elido.

Elido envoie-t-il la latence de redirection à Datadog ?

Non. L'intégration envoie des clics, pas des temps, et il n'y a ni latence ni code de statut dans la charge utile. Construisez plutôt le tableau de bord de latence de redirection à partir d'un test HTTP Datadog Synthetics, avec le suivi des redirections désactivé, pour que le temps de réponse tracé soit celui du seul saut de redirection et non celui de votre page d'atterrissage.

Quel site Datadog un espace de travail européen doit-il utiliser ?

Utilisez le site où vit votre organisation Datadog, saisi comme domaine nu, par exemple datadoghq.eu pour le site européen. Si vous laissez le champ vide, Elido se rabat sur datadoghq.com, le site américain, et une organisation européenne ne verra rien de ce qui y arrive.

Pourquoi ma métrique de clics Elido n'affiche-t-elle aucune donnée au lieu de zéro ?

Elido n'envoie un point que pour une minute où l'espace de travail a eu au moins un clic. Une minute calme ne produit aucun point, et Datadog montre donc un trou. Enveloppez la requête dans default_zero() sur les tableaux de bord, et utilisez une alerte sur absence de données pour détecter un arrêt complet du trafic.

Les contrôles synthétiques Datadog comptent-ils comme des clics dans Elido ?

Ils peuvent. Elido ignore l'événement de clic pour les user-agents qui correspondent à sa liste de bots, comme ceux contenant le mot bot ou des bibliothèques HTTP courantes. Définissez sur le test synthétique un en-tête User-Agent personnalisé contenant bot, et pointez le test vers un lien canari dédié, pour que les sondes ne gonflent jamais les chiffres de campagne.

Essayer Elido

Collez une URL, obtenez un lien court

Sans inscription. Lien actif 30 jours. Inscrivez-vous pour le garder pour toujours.

Sans inscription. Créez un compte gratuit pour 50 liens par mois.

Essayer Elido

Raccourcisseur d'URL hébergé en UE : domaines personnalisés, analyses approfondies et API ouverte. Forfait gratuit - sans carte bancaire.

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

Lire la suite