8 Min. LesezeitIntegrationen

Datadog-URL-Monitoring: Redirect-Metriken für Kurzlinks

Datadog-URL-Monitoring für Kurzlinks: die Klick-Logs und Metriken, die Elido sendet, ein auf Synthetics basierendes Dashboard für Redirect-Latenz, Monitore und ein ehrliches SLO.

Marius Voß
DevRel · edge infra
Datadog-URL-Monitoring für Kurzlinks: Elido-Klick-Logs und Klick-Metriken pro Minute sowie ein Synthetics-Test, die gemeinsam ein Dashboard für Redirect-Latenz speisen

Das Datadog-URL-Monitoring für Elido-Kurzlinks bezieht seine Daten aus zwei Quellen. Elido selbst sendet Klickdaten: ein Log pro Klick an den Datadog-Logs-Intake sowie drei Klickzahl-Metriken, die alle 60 Sekunden übertragen werden. Redirect-Latenzen oder Statuscodes werden nicht gesendet. Dafür richten Sie einen Datadog-Synthetics-HTTP-Test auf einen Canary-Kurzlink, und auf diesem Paar bauen das Dashboard für Redirect-Latenz, die Monitore und das SLO auf.

Diese Aufteilung ist das gesamte Design. Die Klickseite zeigt Ihnen, wie viele Personen Ihre Links genutzt haben und von wo, und die synthetische Seite zeigt, ob der Redirect geantwortet hat, wie schnell und mit dem richtigen Status. Dieser Beitrag behandelt die genauen Formen der Metriken und Logs, ihre Verbindung, den Inhalt des Dashboards und die Grenzen der Lösung.

Wenn Sie wegen der Latenz hier sind, lesen Sie zuerst wie das Budget für p95 unter 15 ms funktioniert. Dort wird erklärt, wie eine gesunde Zahl aussieht, bevor Sie einen Schwellenwert festlegen.

Was Elido tatsächlich an Datadog sendet

Jeder Klick in einem verbundenen Workspace nimmt zwei Wege. Der Log-Weg sendet direkt nach der Aufzeichnung des Klicks einen Batch mit einem Eintrag an https://http-intake.logs.<site>/api/v2/logs. Der Metrik-Weg erhöht einen In-Memory-Zähler, und ein Flusher sendet die Zählerstände einmal pro Minute an https://api.<site>/api/v2/series. Beide authentifizieren sich mit dem Header DD-API-KEY.

SignalName in DatadogTaktungTags und Felder
Klick-Logsource:elido, Nachricht beginnt mit link_clickEiner pro Klickworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Klickzahlelido.clicksAlle 60 sworkspace_id, vendor:elido
Klicks nach Landelido.clicks_by_countryAlle 60 soben plus country
Klicks nach Gerätelido.clicks_by_deviceAlle 60 soben plus device

Die Metriken sind Gauges, und der Wert ist die Zahl der Klicks, die seit der letzten Übertragung gezählt wurden. Ein Datenpunkt mit dem Wert 37 bedeutet also 37 Klicks ungefähr in der letzten Minute. Das ist die natürliche Einheit für ein Operations-Diagramm, und für Summen über einen Zeitraum addieren Sie daher die Werte, statt as_count() anzuwenden. Beachten Sie, was fehlt: Die Metriken haben weder das Tag link_id noch slug. Ich halte das aus Kostensicht für sinnvoll, weil Datadog benutzerdefinierte Metriken abrechnet und ein Slug-Tag in einem stark genutzten Workspace die Zahl der Zeitreihen um die Anzahl der Links vervielfachen würde.

Die Log-Felder kommen verschachtelt in einem attributes-Objekt an, daher sehen die Facets im Log Explorer wie @attributes.slug und @attributes.country aus. Klappen Sie ein Log auf, bevor Sie etwas erstellen. Zehn Sekunden Aufwand ersparen Ihnen eine fehlerhafte Abfrage.

Datadog in Ihrem Elido-Workspace verbinden

Die Einrichtung umfasst zwei Felder. Sie benötigen einen Datadog-API-Key, keinen Application-Key, und die Site, auf der Ihre Organisation läuft.

  1. Öffnen Sie in Datadog Organization Settings und dann API Keys und erstellen Sie einen Key mit einem Namen wie elido-forwarder.
  2. Prüfen Sie Ihre Site. Der Datadog-Site-Leitfaden ordnet jede Login-URL ihrer Site zu: Bei app.datadoghq.eu tragen Sie datadoghq.eu ein, bei us5.datadoghq.com exakt diesen Wert.
  3. Öffnen Sie in Elido Integrations, wählen Sie Datadog, fügen Sie den Key ein, tragen Sie die Site ein und speichern Sie. Der Key wird im Ruhezustand verschlüsselt.
  4. Warten Sie bis zu fünf Minuten, weil der Forwarder die Integrationseinstellungen des Workspace zwischenspeichert. Klicken Sie dann von einem Smartphone auf einen Ihrer eigenen Links und suchen Sie im Log Explorer nach source:elido.

Wenn Sie die Site leer lassen, verwendet Elido datadoghq.com. Für eine EU-Organisation ist das der klassische stille Fehler. Ein Tippfehler führt zum selben Ergebnis. Jeder POST schlägt fehl, und niemand sieht den Fehler.

Der Button Test connection sendet ein Test-Log, das mit elido_test: true markiert ist, an Ihre Datadog-Site und zeigt Datadogs Antwort. Ein falscher Key oder eine falsche Site schlägt dort sofort mit Datadogs 403 fehl. Ein erfolgreicher Test beweist, dass der Key funktioniert, nicht aber, dass Ihre Pipelines und Indizes die Logs behalten. Der echte Beweis ist daher weiterhin ein eingehendes Klick-Log. Es gilt dieselbe Regel wie beim Mixpanel-Klick-Forwarder: echter Klick oder nicht geschehen.

Ein Dashboard für Redirect-Latenz erstellen, das den Hop misst

Da Elido keine Zeitmessungen sendet, müssen die Latenzdaten von etwas kommen, das Anfragen stellt. Ein Datadog-Synthetics-HTTP-Test ist dafür das richtige Werkzeug und misst, was der Besucher spürt, einschließlich DNS und TLS.

Datenfluss des Datadog-URL-Monitorings: Echte Besucherklicks laufen durch den Elido-Redirect und werden als Klick-Logs und elido.clicks-Metrik pro Minute weitergeleitet, während ein Datadog-Synthetics-Test einen Canary-Kurzlink ohne Redirects abfragt und Status sowie Antwortzeit aufzeichnet; beide speisen ein Dashboard für Redirect-Latenz

Das ist der Test, den ich für jeden Workspace einrichte:

  • URL: ein eigener Canary-Link, idealerweise auf Ihrer eigenen Custom Domain, der auf ein langweiliges und stabiles Ziel zeigt.
  • Follow redirects: aus. Wenn es aktiviert ist, messen Sie Ihre Landingpage, und ein langsames Hero-Bild weckt Sie um 3 Uhr morgens wegen eines Redirects, der in Ordnung war.
  • Assertions: Der Statuscode ist 302 (der Standard; verwenden Sie 301 oder 307, wenn Sie dies eingestellt haben, und 301 vs. 302 erklärt den Zielkonflikt), der Header location enthält Ihr Ziel, und die Antwortzeit liegt unter einem Schwellenwert.
  • Locations: mindestens drei, davon einer in der EU-Region Ihrer Zielgruppe. Führen Sie den Test jede Minute aus.
  • Header: ein User-Agent, der bot enthält, damit Elido den Test als Bot behandelt und das Klick-Event überspringt.

Wählen Sie den Schwellenwert anhand dessen, was Sie eine Woche lang beobachten, nicht anhand eines Blogbeitrags. Synthetische Zeitmessungen enthalten den eigenen Netzwerkweg des Tests, daher wird ein Test auf einem anderen Kontinent nie einer Zahl aus der Region entsprechen, und das ist in Ordnung. Sie wollen eine Linie, die flach bleibt.

Das Dashboard braucht dann vier Widgets: Antwortzeit nach Standort als Zeitreihe des Synthetics-Tests, Erfolgsrate der Assertions, Klicks pro Minute aus elido.clicks und eine Top-Liste der Länder.

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

Warum default_zero? Weil eine Minute ohne Klicks überhaupt keinen Datenpunkt erzeugt und Datadog ohne die Interpolationsfunktion eine gerade Linie über die Lücke zeichnet. Diese Linie lügt.

Drei Monitore decken die meisten Probleme mit Links ab, und jeder nutzt eine andere Quelle. Genau hier zahlt sich die Aufteilung aus dem ersten Abschnitt aus.

Redirect fehlerhaft oder langsam. Der Synthetics-Test ist bereits ein Monitor. Alarmieren Sie, wenn zwei oder mehr Standorte im selben Lauf fehlschlagen, damit eine unzuverlässige Testregion niemanden weckt. Jede Antwort außer Ihrem 302 lässt die Status-Assertion fehlschlagen, daher erscheint ein gelöschter, abgelaufener oder pausierter Canary-Link hier als 404 oder 410.

Traffic ausgeblieben. Erstellen Sie einen Metrikmonitor für sum:elido.clicks{workspace_id:42} und aktivieren Sie die Benachrichtigung bei fehlenden Daten nach beispielsweise 30 Minuten. Da Elido in einer ruhigen Minute nichts sendet, bedeutet "no data" hier tatsächlich "no clicks" - genau das Ereignis, das während einer Kampagne wichtig ist.

Ungewöhnlicher Traffic. Ein Anomalie-Monitor für dieselbe Metrik mit der Richtung "below" erkennt eine Kampagne, die normalerweise 4.000 Klicks pro Stunde erhält und plötzlich nur noch 200. Ich habe dieses Muster dreimal gesehen, und jedes Mal lag die Ursache außerhalb des Links: eine abgelehnte Anzeige, ein Newsletter für das falsche Segment oder ein QR-Poster hinter einem Baugerüst. Sammeln Sie zunächst ein paar Wochen Historie, bevor Sie seinen Bändern vertrauen.

Sie möchten pro Link alarmieren? Die Metriken können das nicht, die Logs schon. Erstellen Sie aus source:elido eine Log-basierte Metrik, gruppiert nach @attributes.slug, und Sie erhalten eine Klickzahl pro Slug, die Sie überwachen können. Beschränken Sie das auf eine gefilterte Gruppe von Kampagnen-Slugs, sonst kehren die Kardinalitätskosten durch die Hintertür zurück.

Ein SLO, das Sie tatsächlich vertreten können

Ein Service Level Objective für einen Kurzlink bedeutet nur dann etwas, wenn seine Quelle den Redirect misst. Bauen Sie es auf dem Synthetics-Test auf. Ein monitorbasiertes SLO mit diesem einzelnen Test als Monitor erfüllt den Zweck.

Aufbau des Dashboards für Redirect-Latenz in Datadog: synthetische Antwortzeit nach Standort, Erfolgsrate der Assertions, elido.clicks pro Minute mit default_zero, Top-Länder aus elido.clicks_by_country, drei Monitore für fehlerhaften Redirect, ausgebliebenen Traffic und Klickanomalie sowie ein monitorbasiertes SLO für den Canary-Test

Ich würde mit 99,9 % über 30 Tage beginnen. Das sind ungefähr 43 Minuten fehlgeschlagener Checks pro Monat, und dieses Budget können Sie einer Marketingleitung in einem Satz erklären. Bauen Sie es nicht auf dem Klickvolumen auf. Klicks messen die Nachfrage, nicht den Zustand; ein Link, auf den niemand klickt, ist vollständig verfügbar.

Wenn Ihnen eine flache Linie in diesem SLO-Widget bisher gefehlt hat, richten Sie einen Workspace ein, zeigen Sie mit dem Canary auf Ihre eigene Domain und lassen Sie ihn eine Woche laufen, bevor Sie das Ziel festlegen.

Self-Hosted-Elido: Redirect-Zähler auslesen

Bei einer Self-Hosted-Installation erhalten Sie eine weitere Quelle. Der Redirect-Service stellt unter /metrics einen Prometheus-Endpunkt bereit, und der OpenMetrics-Check des Datadog Agent kann ihn auslesen. Die nützliche Zeitreihe ist elido_edge_redirect_total, ein Zähler mit den Labels fleet und outcome; zu den möglichen Ergebnissen gehören ok, notfound, expired, paused und error.

Damit erhalten Sie, was die SaaS-Integration nicht liefert: eine echte 404-Rate über den gesamten Traffic, berechnet als notfound geteilt durch die Gesamtsumme. Ein zweiter Zähler, edge_redirect_clicks_filtered_bot_total, zeigt, wie viele Redirects ohne Klick-Event an Bots ausgeliefert wurden. Für diesen Endpunkt gibt es allerdings kein Latenzhistogramm. Die Latenz kommt weiterhin aus Synthetics, unabhängig davon, ob Sie Self-Hosted verwenden. Das Playbook zum Self-Hosting mit k3s beschreibt, wo dieser Endpunkt in der Bereitstellung liegt.

Wo die Datadog-Integration endet

Nun zu den Grenzen, die Sie wahrscheinlich zuerst treffen werden.

Die Zustellung erfolgt nach bestem Bemühen. Ein fehlgeschlagener Log-POST wird nach einer Sekunde einmal wiederholt und anschließend verworfen. Ein fehlgeschlagener Metrik-Flush wird überhaupt nicht wiederholt; diese Minute ist verloren, und das nächste Zeitfenster beginnt unbelastet. Behandeln Sie elido.clicks als Trendlinie und gleichen Sie die Summen mit Elidos eigener Klickanalyse ab, die als Quelle der Wahrheit gilt.

Die Logs enthalten die IP des Besuchers und die vollständige Ziel-URL einschließlich UTM-Tags. Wenn sich Ihre Datadog-Organisation in den USA befindet, verlassen personenbezogene Daten die EU. Der Leitfaden zur EU-Datenresidenz für Marketingteams erklärt, wie Sie dies abwägen. Wählen Sie mindestens die EU-Site, falls Sie eine haben.

Die Logkosten steigen mit den Klicks, da pro Klick ein Log aufgenommen wird. Ein viraler Link erzeugt eine virale Rechnung. Ausschlussfilter oder eine Log-basierte Metrik zusammen mit einem Index mit kurzer Aufbewahrung halten die Kosten im Rahmen.

Und der Umfang sind Klicks. Keine Link-erzeugt-Events, keine Conversions, keine Latenz, keine Statuscodes. Ehrlich gesagt bin ich nicht sicher, ob ein Klick-Forwarder überhaupt Latenz übertragen sollte; der Test, der von außerhalb misst, ist ohnehin der glaubwürdigere Zeuge.

Lesen Sie den Cornerstone-Beitrag → p95 unter 15 ms für Redirects erreichen

Verwandte Beiträge im Blog

Häufig gestellte Fragen

Kann ich Kurzlinks in Datadog überwachen?

Ja, aus zwei Richtungen. Elido leitet jeden Klick als Log an Datadog weiter und sendet Klickzahlen pro Minute als Metriken, womit das Traffic-Volumen abgedeckt ist. Für Verfügbarkeit und Latenz fügen Sie einen Datadog-Synthetics-HTTP-Test gegen einen Canary-Kurzlink hinzu, der den Redirect von außerhalb so misst, wie ihn ein Besucher erlebt.

Welche Metriken sendet Elido an Datadog?

Drei Gauge-Metriken, die einmal pro Minute und Workspace übertragen werden: elido.clicks mit der Klickzahl für das Zeitfenster, elido.clicks_by_country mit einem Länder-Tag und elido.clicks_by_device mit einem Geräte-Tag. Alle tragen die Tags workspace_id und vendor:elido. Zusätzlich wird jeder Klick als Log mit source elido gesendet.

Sendet Elido die Redirect-Latenz an Datadog?

Nein. Die Integration sendet Klicks, keine Zeitmessungen, und die Payload enthält weder eine Latenz- noch eine Statuscode-Metrik. Erstellen Sie das Dashboard für Redirect-Latenz stattdessen aus einem Datadog-Synthetics-HTTP-Test, bei dem das Folgen von Redirects deaktiviert ist, damit die dargestellte Antwortzeit nur den Redirect-Hop und nicht Ihre Landingpage misst.

Welche Datadog-Site sollte ein EU-Workspace verwenden?

Verwenden Sie die Site, auf der Ihre Datadog-Organisation liegt, und tragen Sie die reine Domain ein, zum Beispiel datadoghq.eu für die EU-Site. Wenn Sie das Feld leer lassen, fällt Elido auf datadoghq.com, die US-Site, zurück, und eine EU-Organisation sieht nichts von dem, was dort ankommt.

Warum zeigt meine Elido-Klickmetrik keine Daten statt null?

Elido sendet nur für eine Minute einen Datenpunkt, in der der Workspace mindestens einen Klick hatte. Eine ruhige Minute erzeugt überhaupt keinen Datenpunkt, daher zeigt Datadog eine Lücke. Umschließen Sie die Abfrage in Dashboards mit default_zero() und verwenden Sie einen No-Data-Alarm, wenn Sie vollständig ausbleibenden Traffic erkennen möchten.

Zählen synthetische Datadog-Checks in Elido als Klicks?

Das ist möglich. Elido überspringt das Klick-Event für User-Agents, die zu seiner Bot-Liste passen, etwa solche, die das Wort bot oder gängige HTTP-Bibliotheken enthalten. Setzen Sie im Synthetics-Test einen benutzerdefinierten User-Agent-Header, der bot enthält, und richten Sie den Test auf einen eigenen Canary-Link, damit Tests Ihre Kampagnenzahlen nie erhöhen.

Elido testen

URL einfügen, kurzer Link in Sekunden

Kein Konto nötig. Link bleibt 30 Tage aktiv. Konto erstellen, um ihn dauerhaft zu behalten.

Kostenlos, keine Anmeldung erforderlich · 2 pro Tag

Elido testen

URL-Shortener mit EU-Hosting: eigene Domains, tiefe Analytik und eine offene API. Kostenloser Tarif - keine Kreditkarte nötig.

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

Weiterlesen