8 min czytaniaIntegracje

Monitorowanie URL-i w Datadog: metryki przekierowań dla krótkich linków

Monitorowanie URL-i krótkich linków w Datadog: logi kliknięć i metryki wysyłane przez Elido, dashboard opóźnień przekierowań zbudowany na Synthetics, monitory i uczciwie zdefiniowany SLO.

Marius Voß
DevRel · edge infra
Monitorowanie URL-i krótkich linków w Datadog: logi kliknięć Elido i minutowe metryki kliknięć oraz sonda Synthetics zasilająca jeden dashboard opóźnień przekierowań

Monitorowanie URL-i krótkich linków Elido w Datadog korzysta z dwóch źródeł. Samo Elido wysyła dane o kliknięciach: jeden log na każde kliknięcie do Datadog Logs intake oraz trzy metryki liczby kliknięć opróżniane co 60 sekund. Nie wysyła opóźnienia przekierowania ani kodów statusu. Aby je uzyskać, kierujesz test HTTP Datadog Synthetics na canary krótki link, a dashboard opóźnień przekierowań, monitory i SLO opierają się na tych dwóch źródłach.

Na tym polega cała konstrukcja. Część dotycząca kliknięć mówi, ile osób przeszło przez Twoje linki i skąd, a część syntetyczna mówi, czy przekierowanie odpowiedziało, jak szybko i z właściwym statusem. Ten wpis omawia dokładne formaty metryk i logów, sposób ich połączenia, zawartość dashboardu oraz granice tego rozwiązania.

Jeśli trafiłeś tutaj z powodu opóźnienia, najpierw przeczytaj jak działa budżet p95 poniżej 15 ms. Wyjaśnia, jak wygląda zdrowa wartość, zanim wybierzesz próg.

Co Elido faktycznie wysyła do Datadog

Każde kliknięcie w połączonym workspace podąża dwiema ścieżkami. Ścieżka logów wysyła pojedynczy wpis do https://http-intake.logs.<site>/api/v2/logs zaraz po zarejestrowaniu kliknięcia. Ścieżka metryk zwiększa licznik w pamięci, a proces opróżniający wysyła zliczenia do https://api.<site>/api/v2/series raz na minutę. Obie ścieżki uwierzytelniają się nagłówkiem DD-API-KEY.

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

Metryki są typu gauge, a wartość oznacza liczbę kliknięć zliczonych od poprzedniego opróżnienia. Punkt o wartości 37 oznacza więc 37 kliknięć mniej więcej w ostatniej minucie. To naturalna jednostka dla wykresu operacyjnego, dlatego sumujesz wartości w czasie, aby uzyskać sumy, zamiast stosować as_count(). Zwróć uwagę na to, czego brakuje: metryki nie mają taga link_id ani slug. Uważam to za rozsądny wybór kosztowy, ponieważ Datadog rozlicza niestandardowe metryki według unikalnej kombinacji tagów, a tag slug w ruchliwym workspace zwielokrotniłby liczbę serii przez liczbę linków.

Pola logów docierają zagnieżdżone w obiekcie attributes, dlatego w Log Explorer facety wyglądają jak @attributes.slug i @attributes.country. Rozwiń jeden log, zanim cokolwiek zbudujesz. Dziesięć sekund pracy oszczędzi Ci zepsutego zapytania.

Podłączanie Datadog w workspace Elido

Konfiguracja obejmuje dwa pola. Potrzebujesz klucza API Datadog, a nie klucza aplikacji, oraz witryny, na której działa Twoja organizacja.

  1. W Datadog otwórz Organization Settings, następnie API Keys, i utwórz klucz o nazwie na przykład elido-forwarder.
  2. Sprawdź swoją witrynę. Przewodnik po witrynach Datadog mapuje każdy URL logowania na witrynę; app.datadoghq.eu oznacza, że wpisujesz datadoghq.eu, a us5.datadoghq.com oznacza, że wpisujesz dokładnie tę wartość.
  3. W Elido otwórz Integrations, wybierz Datadog, wklej klucz, wpisz witrynę i zapisz. Klucz jest szyfrowany w spoczynku.
  4. Odczekaj do pięciu minut, ponieważ forwarder buforuje ustawienia integracji workspace, a następnie kliknij jeden ze swoich linków na telefonie i wyszukaj source:elido w Log Explorer.

Pozostaw witrynę pustą, a Elido przyjmie datadoghq.com. Dla organizacji z UE to klasyczna cicha awaria. Literówka daje ten sam efekt. Każdy POST kończy się niepowodzeniem, a nikt nie widzi błędu.

Przycisk Test connection wysyła jeden testowy log oznaczony elido_test: true do Twojej witryny Datadog i pokazuje odpowiedź Datadog, więc nieprawidłowy klucz lub witryna zakończą się od razu błędem 403 Datadog. Pomyślne przejście testu dowodzi, że klucz działa, ale nie tego, że Twoje pipeline'y i indeksy zachowują logi, więc prawdziwym potwierdzeniem nadal jest pojawienie się logu kliknięcia. Ta sama zasada co w przypadku forwardera kliknięć Mixpanel: prawdziwe kliknięcie albo go nie było.

Budowanie dashboardu opóźnień przekierowań, który mierzy przeskok

Ponieważ Elido nie wysyła czasów, dane o opóźnieniach muszą pochodzić z czegoś, co wykonuje żądania. Test HTTP Datadog Synthetics jest właściwym narzędziem i mierzy to, co odczuwa odwiedzający, włącznie z DNS i TLS.

Przepływ danych monitorowania URL-i w Datadog: rzeczywiste kliknięcia odwiedzających przechodzą przez przekierowanie Elido i są przekazywane jako logi kliknięć oraz minutowa metryka elido.clicks, a sonda Datadog Synthetics żąda canary krótkiego linku z wyłączonymi przekierowaniami i rejestruje status oraz czas odpowiedzi, po czym oba źródła zasilają jeden dashboard opóźnień przekierowań

Oto test, który konfiguruję w każdym workspace:

  • URL: dedykowany canary link, najlepiej we własnej niestandardowej domenie, prowadzący do czegoś nudnego i stabilnego.
  • Follow redirects: wyłączone. Po włączeniu mierzysz czas swojej strony docelowej, a wolny obraz główny obudzi Cię o 3:00 z powodu przekierowania, które działało prawidłowo.
  • Assertions: kod statusu to 302 (wartość domyślna; użyj 301 lub 307, jeśli tak go ustawisz, a 301 a 302 wyjaśnia kompromis), nagłówek location zawiera miejsce docelowe, a czas odpowiedzi jest poniżej progu.
  • Locations: co najmniej trzy, w tym jedna w regionie UE, w którym znajduje się Twoja publiczność. Uruchamiaj co minutę.
  • Header: User-Agent zawierający bot, aby Elido potraktowało sondę jako bota i pominęło zdarzenie kliknięcia.

Wybierz próg na podstawie obserwacji z tygodnia, a nie wpisu na blogu. Czasy syntetyczne obejmują własną ścieżkę sieciową sondy, więc sonda na innym kontynencie nigdy nie osiągnie wartości z Twojego regionu - i to jest w porządku. Chcesz uzyskać linię, która pozostaje płaska.

Dashboard potrzebuje następnie czterech widgetów. Czas odpowiedzi według lokalizacji jako timeseries testu syntetycznego. Wskaźnik pomyślnych asercji. Kliknięcia na minutę z elido.clicks. Oraz lista najczęstszych 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? Ponieważ minuta bez kliknięć nie tworzy żadnego 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 obejmują większość problemów z linkami, a każdy korzysta z innego źródła - właśnie tutaj podział z pierwszej sekcji przynosi korzyści.

Przekierowanie jest zepsute lub wolne. Test syntetyczny już jest monitorem. Włącz alert, gdy w tym samym uruchomieniu zawiodą co najmniej dwie lokalizacje, aby pojedynczy niestabilny region sondy nikogo nie budził. Każda odpowiedź inna niż 302 nie przechodzi asercji statusu, więc usunięty, wygasły lub wstrzymany canary link pojawi się tutaj jako 404 lub 410.

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

Ruch jest dziwny. Monitor anomalii dla tej samej metryki, z kierunkiem ustawionym na poniżej, wykrywa kampanię, która zwykle ma 4000 kliknięć na godzinę, a nagle ma ich 200. Widziałem ten wzorzec trzy razy i za każdym razem przyczyna leżała poza linkiem: odrzucona reklama, newsletter wysłany do niewłaściwego segmentu, plakat z kodem QR zasłonięty rusztowaniem. Zbierz kilka tygodni historii, zanim zaufasz jego pasmom.

Chcesz alertów dla poszczególnych linków? Metryki tego nie potrafią, ale logi tak. Utwórz metrykę opartą na logach ze source:elido, grupując po @attributes.slug, a otrzymasz liczbę kliknięć dla każdego sluga, którą możesz monitorować. Ogranicz ją do przefiltrowanego zestawu slugów kampanii, bo koszt kardynalności wróci bocznymi drzwiami.

SLO, którego można rzeczywiście bronić

Cel poziomu usług 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 pojedynczym testem jako monitorem spełnia to zadanie.

Układ dashboardu opóźnień przekierowań w Datadog: syntetyczny czas odpowiedzi według lokalizacji, wskaźnik pomyślnych asercji, elido.clicks na minutę z default_zero, najczęstsze kraje z elido.clicks_by_country, trzy monitory zepsutego przekierowania, zatrzymanego ruchu i anomalii kliknięć oraz SLO oparte na monitorze testu canary

Zacząłbym od 99,9% w ciągu 30 dni. To około 43 minut nieudanych testów miesięcznie i budżet, który możesz wyjaśnić osobie prowadzącej marketing w jednym zdaniu. Nie buduj go na wolumenie kliknięć. Kliknięcia mierzą popyt, a nie kondycję - link, którego nikt nie klika, może być całkowicie dostępny.

Jeśli właśnie takiej płaskiej linii na widżecie SLO Ci brakowało, utwórz workspace, skieruj canary na własną domenę i uruchamiaj go przez tydzień, zanim ustawisz cel.

Elido self-hosted: odczytywanie liczników przekierowań

W instalacji self-hosted zyskujesz jeszcze jedno źródło. Usługa przekierowań udostępnia endpoint Prometheus pod /metrics, a check OpenMetrics agenta Datadog może go odpytywać. Użyteczna seria to elido_edge_redirect_total, licznik z etykietami fleet i outcome, gdzie wyniki obejmują ok, notfound, expired, paused i error.

Daje Ci to coś, czego nie zapewnia integracja SaaS: rzeczywisty współczynnik 404 dla całego ruchu, obliczony jako notfound podzielone przez sumę. Drugi licznik, edge_redirect_clicks_filtered_bot_total, pokazuje, ile przekierowań obsłużono dla botów bez zdarzenia kliknięcia. Ten endpoint nie ma jednak histogramu opóźnień. Opóźnienie nadal pochodzi z Synthetics, niezależnie od tego, czy jest self-hosted. Poradnik self-hostingu Elido na k3s wyjaśnia, gdzie ten endpoint znajduje się we wdrożeniu.

Gdzie kończy się integracja Datadog

Teraz ograniczenia, które najprawdopodobniej najszybciej dadzą o sobie znać.

Dostarczenie jest realizowane best effort. Nieudany POST logu otrzymuje jedną ponowną próbę po sekundzie, a następnie zostaje odrzucony. Nieudane opróżnienie metryk w ogóle nie jest ponawiane; ta minuta przepada, a kolejne okno zaczyna się od zera. Traktuj elido.clicks jako linię trendu i uzgadniaj sumy z własną analityką kliknięć Elido, która jest źródłem prawdy.

Logi zawierają adres IP odwiedzającego i pełny URL miejsca docelowego, w tym tagi UTM. Jeśli Twoja organizacja Datadog znajduje się w US, są to dane osobowe opuszczające UE, a przewodnik po rezydencji danych w UE dla zespołów marketingowych pokazuje, jak to ocenić. Przynajmniej wybierz witrynę UE, jeśli ją masz.

Koszt logów rośnie wraz z liczbą kliknięć, bo każde kliknięcie oznacza jeden zaimportowany log. Wiralowy link oznacza wiralowy rachunek. Filtry wykluczeń albo metryka oparta na logach połączona z indeksem o krótkim czasie przechowywania pozwalają utrzymać go w ryzach.

Zakres obejmuje też tylko kliknięcia. Nie ma zdarzeń utworzenia linku, konwersji, opóźnień ani kodów statusu. Szczerze mówiąc, nie jestem pewien, czy forwarder kliknięć powinien w ogóle przenosić opóźnienie; sonda mierząca z zewnątrz jest i tak bardziej wiarygodnym świadkiem.

Przeczytaj wpis filarowy → Jak osiągnąć p95 poniżej 15 ms dla przekierowań

Powiązane wpisy 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 minutowe liczby kliknięć jako metryki, co obejmuje wolumen ruchu. Aby monitorować dostępność i opóźnienie, dodaj test HTTP Datadog Synthetics dla canary 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, opróżniane raz na minutę dla każdego workspace: elido.clicks z liczbą kliknięć w danym oknie, elido.clicks_by_country z tagiem kraju oraz elido.clicks_by_device z tagiem urządzenia. Wszystkie mają tagi workspace_id i vendor:elido. Oprócz nich każde kliknięcie jest wysyłane jako log ze źródłem elido.

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

Nie. Integracja wysyła kliknięcia, a nie czasy, i w ładunku nie ma metryki opóźnienia ani kodu statusu. Zbuduj dashboard opóźnień przekierowań na podstawie testu HTTP Datadog Synthetics, wyłączając podążanie za przekierowaniami, aby wykres przedstawiał wyłącznie czas przeskoku przekierowania, a nie Twojej strony docelowej.

Z której witryny Datadog powinien korzystać workspace z UE?

Użyj witryny, w której działa Twoja organizacja Datadog, wpisując samą domenę, na przykład datadoghq.eu dla witryny UE. Jeśli pozostawisz pole puste, Elido użyje datadoghq.com, czyli witryny US, 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 za minutę, w której workspace miał co najmniej jedno kliknięcie. W cichej minucie nie powstaje żaden punkt, więc Datadog pokazuje lukę. Owiń zapytanie funkcją default_zero() na dashboardach i użyj alertu braku danych, gdy chcesz wykryć całkowite zatrzymanie ruchu.

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

Mogą. Elido pomija zdarzenie kliknięcia dla user agentów pasujących do jego listy botów, na przykład zawierających słowo bot lub należących do popularnych bibliotek HTTP. Ustaw w teście syntetycznym niestandardowy nagłówek User-Agent zawierający bot i skieruj test na dedykowany canary link, 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.

Za darmo, bez rejestracji · 2 dziennie

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