10 min di letturaIntegrazioni

Monitoraggio degli URL in Datadog: metriche di reindirizzamento per link brevi

Monitoraggio degli URL in Datadog per link brevi: i log e le metriche dei click inviati da Elido, un dashboard della latenza dei reindirizzamenti basato su Synthetics, i monitor e uno SLO realistico.

Marius Voß
DevRel · edge infra
Monitoraggio degli URL in Datadog per link brevi: log dei click di Elido e metriche dei click al minuto, con una sonda Synthetics che alimenta un dashboard della latenza dei reindirizzamenti

Il monitoraggio degli URL in Datadog per i link brevi di Elido arriva da due fonti. Elido invia direttamente i dati dei click: un log per ogni click al Datadog Logs intake, più tre metriche del conteggio dei click scaricate ogni 60 secondi. Non invia la latenza dei reindirizzamenti né i codici di stato. Per questi dati devi indirizzare un test HTTP di Datadog Synthetics verso un link breve canary, e su questa coppia si basano il dashboard della latenza dei reindirizzamenti, i monitor e lo SLO.

Questa separazione è il cuore dell'impostazione. Il lato dei click ti dice quante persone hanno seguito i tuoi link e da dove, mentre il lato sintetico ti dice se il reindirizzamento ha risposto, quanto velocemente e con lo stato corretto. In questo articolo copro la forma esatta delle metriche e dei log, come collegarli, cosa inserire nel dashboard e dove finiscono i limiti.

Se sei qui per la latenza, leggi prima come funziona il budget p95 sotto i 15 ms. Spiega come appare un valore sano prima che tu scelga una soglia.

Cosa invia davvero Elido a Datadog

Ogni click in un workspace connesso segue due percorsi. Il percorso dei log invia un batch con una singola voce a https://http-intake.logs.<site>/api/v2/logs, subito dopo la registrazione del click. Il percorso delle metriche incrementa un contatore in memoria e un flusher invia i conteggi a https://api.<site>/api/v2/series una volta al minuto. Entrambi si autenticano con l'intestazione DD-API-KEY.

SegnaleNome in DatadogFrequenzaTag e campi
Log del clicksource:elido, il messaggio inizia con link_clickUno per clickworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Conteggio clickelido.clicksOgni 60 sworkspace_id, vendor:elido
Click per paeseelido.clicks_by_countryOgni 60 ssopra più country
Click per dispositivoelido.clicks_by_deviceOgni 60 ssopra più device

Le metriche sono gauge e il valore è il numero di click conteggiati dall'ultimo scaricamento. Quindi un punto pari a 37 significa 37 click all'incirca nell'ultimo minuto. È l'unità naturale per un grafico operativo e significa che, per i totali, devi sommare nel tempo invece di applicare as_count(). Nota cosa manca: nelle metriche non c'è alcun tag link_id o slug. Considero sensata questa scelta in termini di costi, perché Datadog fattura le metriche personalizzate per ogni combinazione unica di tag e un tag slug in un workspace molto attivo moltiplicherebbe il numero di serie per il numero di link.

I campi dei log arrivano annidati sotto un oggetto attributes, quindi in Log Explorer i facet hanno un aspetto come @attributes.slug e @attributes.country. Espandi un log prima di costruire qualsiasi cosa. Bastano dieci secondi per evitare una query rotta.

Collegare Datadog al tuo workspace Elido

La configurazione richiede due campi. Ti servono una chiave API Datadog (non una chiave applicazione) e il sito su cui opera la tua organizzazione.

  1. In Datadog, apri Organization Settings, poi API Keys, e creane una con un nome come elido-forwarder.
  2. Controlla il tuo sito. La guida ai siti Datadog associa ogni URL di accesso al relativo sito; app.datadoghq.eu significa che devi inserire datadoghq.eu, mentre us5.datadoghq.com significa che devi inserire esattamente quello.
  3. In Elido, apri Integrations, scegli Datadog, incolla la chiave, inserisci il sito e salva. La chiave è crittografata a riposo.
  4. Attendi fino a cinque minuti, perché il forwarder mette in cache le impostazioni di integrazione del workspace, poi fai clic su uno dei tuoi link dal telefono e cerca source:elido in Log Explorer.

Lascia vuoto il sito e Elido presume datadoghq.com. Per un'organizzazione dell'UE, questo è il classico errore silenzioso. Lo stesso vale per un refuso. Ogni POST fallisce e nessuno vede l'errore.

Il pulsante Test connection invia un log di prova (contrassegnato con elido_test: true) al tuo sito Datadog e mostra la risposta di Datadog, quindi una chiave o un sito errati falliscono subito con il 403 di Datadog. Un esito positivo dimostra che la chiave funziona, non che le tue pipeline e i tuoi indici conservino i log, quindi la prova reale resta la comparsa di un log di click. Vale la stessa regola del forwarder dei click di Mixpanel: click reale, oppure non è successo.

Creare un dashboard della latenza dei reindirizzamenti che misuri il passaggio

Dato che Elido non invia i tempi, i dati della latenza devono arrivare da qualcosa che effettui richieste. Un test HTTP di Datadog Synthetics è lo strumento giusto e misura ciò che percepisce il visitatore, inclusi DNS e TLS.

Flusso dei dati del monitoraggio degli URL in Datadog: i click dei visitatori reali passano attraverso il reindirizzamento di Elido e vengono inoltrati come log dei click e metrica elido.clicks al minuto, mentre una sonda Datadog Synthetics richiede un link breve canary con i reindirizzamenti disattivati e registra stato e tempo di risposta; entrambi alimentano un dashboard della latenza dei reindirizzamenti

Questo è il test che configuro in ogni workspace:

  • URL: un link canary dedicato, idealmente sul tuo dominio personalizzato, che punti a qualcosa di semplice e stabile.
  • Segui reindirizzamenti: disattivato. Se lo attivi, misuri la tua landing page e un'immagine principale lenta ti avviserà alle 3 di notte per un reindirizzamento che invece funzionava bene.
  • Asserzioni: il codice di stato è 302 (il valore predefinito; usa 301 o 307 se hai configurato quello, e 301 contro 302 spiega il compromesso), l'intestazione location contiene la tua destinazione e il tempo di risposta è sotto una soglia.
  • Posizioni: almeno tre, di cui una nella regione UE in cui si trova il tuo pubblico. Esegui il test ogni minuto.
  • Intestazione: una User-Agent che contiene bot, così Elido tratta la sonda come un bot e salta l'evento di click.

Scegli la soglia in base a ciò che osservi per una settimana, non in base a un post del blog. I tempi sintetici includono il percorso di rete della sonda, quindi una sonda su un altro continente non corrisponderà mai a un valore nella regione, e va bene così. Vuoi una linea che resti piatta.

Il dashboard richiede quindi quattro widget. Il tempo di risposta per posizione, come serie temporale del test sintetico. Il tasso di superamento delle asserzioni. I click al minuto da elido.clicks. E un elenco dei paesi principali.

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

Perché default_zero? Perché un minuto senza click non produce alcun punto e, senza la funzione di interpolazione, Datadog traccia una linea retta attraverso l'intervallo vuoto. Quella linea mente.

Tre monitor coprono la maggior parte dei problemi dei link e ognuno usa una fonte diversa: è qui che la separazione della prima sezione dà i suoi frutti.

Reindirizzamento non funzionante o lento. Il test sintetico è già un monitor. Invia un alert quando due o più posizioni falliscono nella stessa esecuzione, così una singola regione di sonde instabile non sveglia nessuno. Qualsiasi risposta diversa dal tuo 302 fa fallire l'asserzione del codice di stato, quindi qui apparirà come 404 o 410 un link canary eliminato, scaduto o messo in pausa.

Traffico fermo. Crea un monitor delle metriche su sum:elido.clicks{workspace_id:42} e attiva la notifica per i dati mancanti dopo, per esempio, 30 minuti. Poiché Elido non invia nulla in un minuto senza attività, qui "no data" significa davvero "no clicks": è l'evento che ti interessa durante una campagna.

Traffico anomalo. Un monitor delle anomalie sulla stessa metrica, con la direzione impostata su below, rileva una campagna che normalmente registra 4.000 click all'ora e improvvisamente ne registra 200. Ho visto questo schema tre volte e ogni volta la causa era esterna al link: un annuncio rifiutato, una newsletter inviata al segmento sbagliato, un poster QR coperto da un'impalcatura. Lascia passare un paio di settimane di cronologia prima di fidarti delle sue bande.

Vuoi gli alert per singolo link? Le metriche non possono farlo, ma i log sì. Crea una metrica basata sui log da source:elido, raggruppata per @attributes.slug, e otterrai un conteggio dei click per slug da monitorare. Limitala a un insieme filtrato di slug delle campagne, altrimenti il costo della cardinalità rientrerà dalla porta di servizio.

Uno SLO che puoi davvero difendere

Un obiettivo del livello di servizio su un link breve ha senso solo se la sua fonte misura il reindirizzamento. Costruiscilo sul test sintetico. Uno SLO basato su un monitor con quel singolo test come monitor svolge il lavoro.

Layout di un dashboard della latenza dei reindirizzamenti in Datadog: tempo di risposta sintetico per posizione, tasso di superamento delle asserzioni, elido.clicks al minuto con default_zero, paesi principali da elido.clicks_by_country, tre monitor per reindirizzamento non funzionante, traffico fermo e anomalia dei click, e uno SLO basato su un monitor per il test canary

Io inizierei dal 99,9% su 30 giorni. Sono circa 43 minuti di controlli falliti al mese ed è un budget che puoi spiegare a un responsabile marketing in una sola frase. Non costruirlo sul volume dei click. I click misurano la domanda, non lo stato di salute: un link su cui nessuno fa clic è perfettamente disponibile.

Se ti è mancata una linea piatta nel widget dello SLO, configura un workspace, indirizza il canary verso il tuo dominio ed eseguilo per una settimana prima di impostare l'obiettivo.

Elido self-hosted: estrarre i contatori dei reindirizzamenti

Con un'installazione self-hosted hai una fonte in più. Il servizio di reindirizzamento espone un endpoint Prometheus su /metrics e il controllo OpenMetrics dell'Agent Datadog può estrarlo. La serie utile è elido_edge_redirect_total, un contatore con le label fleet e outcome, dove i valori includono ok, notfound, expired, paused ed error.

Questo ti dà ciò che l'integrazione SaaS non dà: un vero tasso di 404 su tutto il traffico, calcolato come notfound sul totale. Un secondo contatore, edge_redirect_clicks_filtered_bot_total, mostra quanti reindirizzamenti sono stati serviti ai bot senza un evento di click. Tuttavia quell'endpoint non include un istogramma della latenza. La latenza continua ad arrivare da Synthetics, che tu sia self-hosted o meno. Il playbook per il self-hosting su k3s spiega dove si colloca quell'endpoint nella distribuzione.

Dove si ferma l'integrazione Datadog

Ecco ora i limiti che probabilmente si faranno sentire per primi.

La consegna avviene secondo il principio del best effort. Un POST del log fallito riceve un retry dopo un secondo e poi viene scartato. Un flush delle metriche fallito non viene ripetuto affatto: quel minuto è perso e la finestra successiva riparte da zero. Tratta elido.clicks come una linea di tendenza e riconcilia i totali con la propria analisi dei click di Elido, che è la fonte di verità.

I log contengono l'IP del visitatore e l'URL di destinazione completo, inclusi i tag UTM. Se la tua organizzazione Datadog si trova negli Stati Uniti, questi sono dati personali che lasciano l'UE, e la guida alla residenza dei dati UE per i team marketing spiega come valutarne le implicazioni. Come minimo, scegli il sito UE se ne hai uno.

Il costo dei log cresce con il numero di click, uno per ogni log acquisito. Un link virale produce una fattura virale. I filtri di esclusione, oppure una metrica basata sui log abbinata a un indice con conservazione breve, mantengono il costo sotto controllo.

E l'ambito sono i click. Nessun evento di creazione del link, nessuna conversione, nessuna latenza, nessun codice di stato. A dire il vero, non sono sicuro che un forwarder dei click debba trasportare anche la latenza: la sonda che misura dall'esterno è comunque il testimone più veritiero.

Leggi il contenuto fondamentale → Raggiungere un p95 sotto i 15 ms per i reindirizzamenti

Articoli correlati sul blog

Domande frequenti

Posso monitorare i link brevi in Datadog?

Sì, da due direzioni. Elido inoltra ogni click a Datadog come log e invia il numero di click al minuto come metrica, coprendo così il volume di traffico. Per disponibilità e latenza aggiungi un test HTTP di Datadog Synthetics su un link breve canary, che misura il reindirizzamento dall'esterno, nel modo in cui lo vive un visitatore.

Quali metriche invia Elido a Datadog?

Tre metriche gauge, scaricate una volta al minuto per workspace: elido.clicks con il numero di click della finestra, elido.clicks_by_country con un tag del paese ed elido.clicks_by_device con un tag del dispositivo. Tutte riportano i tag workspace_id e vendor:elido. Inoltre, ogni click viene inviato come log con source elido.

Elido invia la latenza dei reindirizzamenti a Datadog?

No. L'integrazione invia i click, non i tempi, e nel payload non c'è alcuna metrica di latenza o di codice di stato. Crea invece il dashboard della latenza dei reindirizzamenti a partire da un test HTTP di Datadog Synthetics, disattivando il seguito dei reindirizzamenti, così il tempo di risposta rappresentato è solo quello del passaggio di reindirizzamento e non della landing page.

Quale sito Datadog deve usare un workspace dell'UE?

Usa il sito su cui si trova la tua organizzazione Datadog, inserito come dominio semplice, per esempio datadoghq.eu per il sito UE. Se lasci vuoto il campo, Elido ricade su datadoghq.com, il sito statunitense, e un'organizzazione dell'UE non vedrà nulla di ciò che arriva lì.

Perché la mia metrica dei click di Elido mostra nessun dato invece di zero?

Elido invia un punto solo per un minuto in cui il workspace ha registrato almeno un click. Un minuto senza attività non produce alcun punto, quindi Datadog mostra un intervallo vuoto. Avvolgi la query in default_zero() nei dashboard e usa un alert no-data quando vuoi rilevare un arresto completo del traffico.

I controlli sintetici di Datadog vengono conteggiati come click in Elido?

Possono esserlo. Elido salta l'evento di click per gli user agent che corrispondono al suo elenco di bot, per esempio quelli che contengono la parola bot o librerie HTTP comuni. Imposta un'intestazione User-Agent personalizzata sul test sintetico che includa bot e indirizza il test verso un link canary dedicato, così le sonde non gonfiano mai i numeri delle campagne.

Prova Elido

Incolla un URL, ottieni un link breve

Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.

Gratis, nessuna registrazione richiesta · 2 al giorno

Prova Elido

Accorciatore di URL ospitato nell'UE: domini personalizzati, analisi approfondite e API aperta. Piano gratuito - senza carta di credito.

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

Continua a leggere