8 min czytaniaIntegracje

Monitoring URL w Datadog: metryki przekierowań krótkich linków

Monitoring URL w Datadog dla krótkich linków: logi i metryki kliknięć od Elido, dashboard opóźnienia przekierowań na Synthetics, monitory i uczciwy SLO.

Marius Voß
DevRel · edge infra

Monitoring URL w Datadog dla krótkich linków Elido pochodzi z dwóch źródeł. Sam Elido wysyła dane o kliknięciach: jeden log na kliknięcie do wejścia Datadog Logs oraz trzy metryki liczby kliknięć wysyłane co 60 sekund. Nie wysyła opóźnienia przekierowania ani kodów statusu. Do tego kierujesz test HTTP Datadog Synthetics na kanarkowy krótki link, a dashboard opóźnienia przekierowań, monitory i SLO opierają się na tej parze.

Ten podział to cały projekt. Strona kliknięć mówi, ilu ludzi przeszło przez Twoje linki i skąd, a strona syntetyczna mówi, czy przekierowanie odpowiedziało, jak szybko i z właściwym statusem. Ten wpis omawia dokładne kształty metryk i logów, jak je połączyć, co umieścić na dashboardzie i gdzie to się kończy.

Jeśli opóźnienie jest powodem, dla którego tu jesteś, przeczytaj najpierw jak działa budżet p95 poniżej 15 ms. Wyjaśnia, jak wygląda zdrowa liczba, zanim wybierzesz próg.

Co Elido faktycznie wysyła do Datadog

Każde kliknięcie w połączonej przestrzeni roboczej idzie dwiema ścieżkami. Ścieżka logów wysyła jednowpisową paczkę na https://http-intake.logs.<site>/api/v2/logs, tuż po zapisaniu kliknięcia. Ścieżka metryk zwiększa licznik w pamięci, a flusher wysyła liczby na https://api.<site>/api/v2/series raz na minutę. Obie uwierzytelniają się nagłówkiem DD-API-KEY.

SygnałNazwa w DatadogCzęstotliwośćTagi i pola
Log kliknięciasource:elido, wiadomość zaczyna się link_clickJeden na kliknięcieworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Liczba kliknięćelido.clicksCo 60 sworkspace_id, vendor:elido
Kliknięcia wg krajuelido.clicks_by_countryCo 60 spowyższe plus country
Kliknięcia wg urządzeniaelido.clicks_by_deviceCo 60 spowyższe plus device

Metryki to gauge, a wartość to liczba kliknięć naliczonych od poprzedniego flush. Punkt 37 oznacza więc 37 kliknięć mniej więcej w ostatniej minucie. To naturalna jednostka dla wykresu operacyjnego i oznacza, że sumy liczysz sumując w czasie, a nie stosując as_count(). Zauważ, czego brakuje: w metrykach nie ma tagu link_id ani slug. Nazwałbym to rozsądną decyzją kosztową, bo Datadog rozlicza metryki własne według unikalnej kombinacji tagów, a tag sluga w ruchliwej przestrzeni roboczej pomnożyłby liczbę serii przez liczbę linków.

Log niesie link_id także jako tag Datadog i jest oznaczony service:click-ingester z hostem elido-edge, więc to jest nazwa usługi do filtrowania. Pola przychodzą zagnieżdżone w obiekcie attributes, więc w Log Explorer fasety wyglądają jak @attributes.slug i @attributes.country. Rozwiń jeden log, zanim cokolwiek zbudujesz. Dziesięć sekund, a oszczędza zepsute zapytanie.

Łączenie Datadog w Twojej przestrzeni roboczej Elido

Konfiguracja to dwa pola. Potrzebujesz klucza API Datadog (nie klucza aplikacji) i witryny, na której działa Twoja organizacja.

  1. W Datadog otwórz Organization Settings, potem API Keys i utwórz klucz o nazwie w rodzaju elido-forwarder.
  2. Sprawdź swoją witrynę. Przewodnik po witrynach Datadog mapuje każdy adres logowania na witrynę; app.datadoghq.eu oznacza, że wpisujesz datadoghq.eu, a us5.datadoghq.com oznacza, że wpisujesz dokładnie to.
  3. W Elido otwórz Integrations, wybierz Datadog, wklej klucz, wpisz witrynę i zapisz. Klucz jest szyfrowany w spoczynku.
  4. Poczekaj do pięciu minut, bo forwarder buforuje ustawienia integracji przestrzeni roboczej, potem kliknij jeden ze swoich linków z telefonu i wyszukaj source:elido w Log Explorer.

Zostaw witrynę pustą, a Elido przyjmie datadoghq.com. Dla organizacji z UE to klasyczna cicha awaria. Literówka robi to samo. Każdy POST zawodzi i nikt nie widzi błędu.

Przycisk Test connection wysyła jeden log testowy (oznaczony elido_test: true) do Twojej witryny Datadog i pokazuje odpowiedź Datadog, więc błędny klucz lub witryna zawodzi od razu z 403 od Datadog. Przejście dowodzi, że klucz działa, a nie że Twoje pipeline i indeksy zachowują logi, więc prawdziwym dowodem nadal jest pojawienie się logu kliknięcia. Ta sama zasada co dla forwardera kliknięć Mixpanel: prawdziwe kliknięcie albo się nie zdarzyło.

Budowa dashboardu opóźnienia przekierowań, który mierzy skok

Skoro Elido nie wysyła czasów, dane o opóźnieniu muszą pochodzić od czegoś, co wykonuje żądania. Test HTTP Datadog Synthetics to właściwe narzędzie i mierzy to, co czuje odwiedzający, z DNS i TLS włącznie.

Przepływ danych monitoringu URL w Datadog: prawdziwe kliknięcia odwiedzających przechodzą przez przekierowanie Elido i są przekazywane jako logi kliknięć oraz metryka elido.clicks na minutę.

Oto test, który konfiguruję w każdej przestrzeni roboczej:

  • URL: dedykowany link kanarkowy, najlepiej na Twojej własnej domenie, wskazujący coś nudnego i stabilnego.
  • Podążanie za przekierowaniami: wyłączone. Przy włączonym mierzysz swoją stronę docelową, a wolny obraz hero obudzi Cię o 3 w nocy z powodu przekierowania, które było w porządku.
  • Asercje: kod statusu to 302 (domyślny; użyj 301 lub 307, jeśli tak ustawiłeś, a 301 kontra 302 wyjaśnia kompromis), nagłówek location zawiera Twój cel, a czas odpowiedzi jest poniżej progu.
  • Lokalizacje: co najmniej trzy, z jedną w regionie UE, w którym jest Twoja publiczność. Uruchamiaj co minutę.
  • Nagłówek: User-Agent zawierający bot, aby Elido traktowało sondę jako bota i pomijało zdarzenie kliknięcia.

Wybierz próg na podstawie tego, co obserwujesz przez tydzień, a nie z wpisu na blogu. Czasy syntetyczne zawierają własną ścieżkę sieciową sondy, więc sonda na innym kontynencie nigdy nie dorówna liczbie w regionie i to w porządku. Chcesz linii, która pozostaje płaska.

Dashboard potrzebuje wtedy czterech widżetów. Czas odpowiedzi według lokalizacji, jako szereg czasowy testu syntetycznego. Odsetek zaliczonych asercji. Kliknięcia na minutę z elido.clicks. I lista najlepszych krajów.

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

Dlaczego default_zero? Bo minuta bez kliknięć w ogóle nie daje punktu, a bez funkcji interpolacji Datadog rysuje prostą linię przez lukę. Ta linia kłamie.

Monitory spadków kliknięć i zepsutych krótkich linków

Trzy monitory pokrywają większość tego, co psuje się z linkami, a każdy używa innego źródła, i tu opłaca się podział z pierwszej sekcji.

Przekierowanie zepsute lub wolne. Test syntetyczny już jest monitorem. Alarmuj, gdy dwie lub więcej lokalizacji zawodzi w tym samym przebiegu, aby jeden niestabilny region sondy nikogo nie budził. Każda odpowiedź inna niż Twoje 302 nie przechodzi asercji statusu, więc usunięty, wygasły lub wstrzymany link kanarkowy pojawi się tu jako 404 lub 410.

Ruch ustał. Utwórz monitor metryki na sum:elido.clicks{workspace_id:42} i włącz powiadomienie o brakujących danych po, powiedzmy, 30 minutach. Ponieważ Elido nie wysyła niczego w cichej minucie, "brak danych" oznacza tu naprawdę "brak kliknięć", czyli zdarzenie, na którym Ci zależy podczas kampanii.

Ruch dziwny. Monitor anomalii na tej samej metryce, z kierunkiem ustawionym na poniżej, wyłapie kampanię, która zwykle robi 4000 kliknięć na godzinę, a nagle robi 200. Widziałem ten wzorzec trzy razy i za każdym razem przyczyna leżała poza linkiem: odrzucona reklama, newsletter wysłany do złego segmentu, plakat z kodem QR za rusztowaniem. Daj mu kilka tygodni historii, zanim zaufasz jego pasmom.

Chcesz alarmów per link? Metryki tego nie potrafią, ale logi tak. Utwórz metrykę opartą na logach z source:elido pogrupowaną po @attributes.slug i dostaniesz liczbę kliknięć na slug, którą można monitorować. Ogranicz ją do przefiltrowanego zbioru slugów kampanii, bo inaczej koszt kardynalności wraca tylnymi drzwiami.

SLO, którego można bronić

Cel poziomu usługi dla krótkiego linku ma sens tylko wtedy, gdy jego źródło mierzy przekierowanie. Zbuduj go na teście syntetycznym. SLO oparte na monitorze z tym jednym testem jako monitorem wystarcza.

Układ dashboardu opóźnienia przekierowań w Datadog: czas odpowiedzi syntetycznej według lokalizacji, odsetek zaliczonych asercji, elido.clicks na minutę z default_zero, najlepsze kraje z elido.clicks_by_country, trzy monitory dla zepsutego przekierowania.

Zacząłbym od 99,9% w 30 dni. To około 43 minut nieudanych kontroli miesięcznie i budżet, który wyjaśnisz szefowi marketingu jednym zdaniem. Nie buduj go na wolumenie kliknięć. Kliknięcia mierzą popyt, a nie zdrowie; link, którego nikt nie klika, jest w pełni dostępny.

Jeśli płaska linia na tym widżecie SLO to to, czego Ci brakowało, załóż przestrzeń roboczą, skieruj kanarka na własną domenę i uruchom go na tydzień, zanim ustalisz cel.

Elido na własnym serwerze: zbieranie liczników przekierowań

Jeśli sam uruchamiasz usługę przekierowań (możliwe tylko jako wdrożenie Enterprise na podstawie umowy w Twojej infrastrukturze; Elido nie jest sprzedawane jako pobieralny produkt self-hosted), dostajesz jeszcze jedno źródło. Usługa przekierowań wystawia endpoint Prometheus pod /metrics, a kontrola OpenMetrics agenta Datadog może go zbierać. Użyteczna seria to elido_edge_redirect_total, licznik z etykietami fleet i outcome, gdzie wyniki obejmują ok, notfound, expired, paused, disabled, blocked, capped i error.

To daje to, czego integracja SaaS nie daje: prawdziwy wskaźnik 404 w całym ruchu, liczony jako notfound do całości. Drugi licznik, edge_redirect_clicks_filtered_bot_total, pokazuje, ile przekierowań obsłużono botom bez zdarzenia kliknięcia. Na tym endpoincie nie ma jednak histogramu opóźnień. Opóźnienie nadal pochodzi z Synthetics, self-hosted czy nie. Podręcznik self-hostingu k3s opisuje, gdzie ten endpoint leży we wdrożeniu.

Gdzie kończy się integracja z Datadog

Teraz ograniczenia, te, które najprawdopodobniej ugryzą najpierw.

Dostarczanie jest best-effort i pochodzi z pipeline kliknięć, więc może pozostawać chwilę za przekierowaniem. Nieudany POST logu dostaje jedną ponowną próbę po sekundzie, a potem jest porzucany. Nieudany flush metryk nie jest ponawiany wcale; ta minuta przepada, a następne okno zaczyna się czyste. Traktuj elido.clicks jako linię trendu, a sumy uzgadniaj z własną analityką kliknięć Elido, która jest rekordem prawdy.

Logi niosą IP odwiedzającego i pełny adres URL celu, razem ze znacznikami UTM. Jeśli Twoja organizacja Datadog jest w USA, to dane osobowe opuszczają UE, a przewodnik po rezydencji danych w UE dla zespołów marketingu pokazuje, jak to rozważyć. Przynajmniej wybierz witrynę UE, jeśli ją masz.

Koszt logów rośnie z kliknięciami, jeden zaindeksowany log na kliknięcie. Wirusowy link robi wirusowy rachunek. Filtry wykluczeń albo metryka oparta na logach połączona z indeksem o krótkiej retencji utrzymują to w ryzach.

I zakres to kliknięcia. Brak zdarzeń utworzenia linków, konwersji, opóźnienia i kodów statusu. Szczerze, nie jestem pewien, czy forwarder kliknięć w ogóle powinien nieść opóźnienie; sonda mierząca z zewnątrz i tak jest prawdziwszym świadkiem.

Strony dokumentacji Datadog podlinkowane powyżej sprawdzono 2026-10-25. Budżet opóźnienia stojący za przekierowaniem opisuje wpis o p95 poniżej 15 ms

Powiązane na blogu

Najczęściej zadawane pytania

Czy mogę monitorować krótkie linki w Datadog?

Tak, z dwóch stron. Elido przekazuje każde kliknięcie do Datadog jako log i wysyła liczniki kliknięć na minutę jako metryki, co obejmuje wolumen ruchu. Dla dostępności i opóźnienia dodajesz test HTTP Datadog Synthetics wobec kanarkowego krótkiego linku, który mierzy przekierowanie z zewnątrz tak, jak doświadcza go odwiedzający.

Jakie metryki Elido wysyła do Datadog?

Trzy metryki typu gauge, wysyłane raz na minutę na przestrzeń roboczą: elido.clicks z liczbą kliknięć w oknie, elido.clicks_by_country z tagiem kraju i elido.clicks_by_device z tagiem urządzenia. Wszystkie niosą tagi workspace_id i vendor:elido. Obok nich każde kliknięcie jest wysyłane jako log ze źródłem elido.

Czy Elido wysyła do Datadog opóźnienie przekierowania?

Nie. Integracja wysyła kliknięcia, a nie czasy, i w ładunku nie ma metryki opóźnienia ani kodu statusu. Zbuduj dashboard opóźnienia przekierowań z testu HTTP Datadog Synthetics, z wyłączonym podążaniem za przekierowaniami, aby czas odpowiedzi na wykresie dotyczył samego skoku przekierowania, a nie Twojej strony docelowej.

Z której witryny Datadog powinna korzystać przestrzeń robocza z UE?

Użyj witryny, na której działa Twoja organizacja Datadog, wpisanej jako sama domena, na przykład datadoghq.eu dla witryny UE. Jeśli zostawisz pole puste, Elido wraca do datadoghq.com, witryny USA, a organizacja z UE nie zobaczy niczego, co tam trafi.

Dlaczego moja metryka kliknięć Elido pokazuje brak danych zamiast zera?

Elido wysyła punkt tylko dla minuty, w której przestrzeń robocza miała co najmniej jedno kliknięcie. Cicha minuta w ogóle nie daje punktu, więc Datadog pokazuje lukę. Na dashboardach opakuj zapytanie w default_zero(), a gdy chcesz wychwycić całkowite zatrzymanie ruchu, użyj alertu na brak danych.

Czy testy syntetyczne Datadog liczą się jako kliknięcia w Elido?

Mogą. Elido pomija zdarzenie kliknięcia dla user-agentów pasujących do jego listy botów, takich jak zawierające słowo bot lub popularne biblioteki HTTP. Ustaw w teście syntetycznym własny nagłówek User-Agent zawierający bot i skieruj test na dedykowany link kanarkowy, aby sondy nigdy nie zawyżały liczb kampanii.

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Bez rejestracji. Załóż darmowe konto i korzystaj z 50 linków miesięcznie.

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

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

Czytaj dalej