10 min de leituraIntegrações

Monitoramento de URLs no Datadog: métricas de redirecionamento para links curtos

Monitoramento de URLs no Datadog para links curtos: os logs e as métricas de cliques enviados pelo Elido, um dashboard de latência de redirecionamento baseado no Synthetics, monitores e um SLO honesto.

Marius Voß
DevRel · edge infra
Monitoramento de URLs no Datadog para links curtos: logs de cliques do Elido e métricas de cliques por minuto, além de uma sonda do Synthetics alimentando um dashboard de latência de redirecionamento

O monitoramento de URLs dos links curtos do Elido no Datadog vem de duas fontes. O próprio Elido envia os dados de cliques: um log por clique para a entrada de Logs do Datadog, além de três métricas de contagem de cliques enviadas a cada 60 segundos. Ele não envia latência de redirecionamento nem códigos de status. Para isso, você aponta um teste HTTP do Datadog Synthetics para um link curto canário, e o dashboard de latência de redirecionamento, os monitores e o SLO ficam todos apoiados nessa dupla.

Essa separação é todo o desenho. O lado dos cliques informa quantas pessoas passaram pelos seus links e de onde vieram; o lado sintético informa se o redirecionamento respondeu, com que rapidez e com o status correto. Este artigo cobre os formatos exatos das métricas e dos logs, como conectá-los, o que colocar no dashboard e onde essa abordagem para.

Se a latência é o motivo de você estar aqui, leia primeiro como funciona o orçamento de p95 abaixo de 15 ms. Ele explica como é um número saudável antes de você escolher um limite.

O que o Elido realmente envia para o Datadog

Cada clique em um workspace conectado segue dois caminhos. O caminho do log envia um lote de uma única entrada para https://http-intake.logs.<site>/api/v2/logs, logo depois que o clique é registrado. O caminho das métricas incrementa um contador na memória, e um processo de envio publica as contagens em https://api.<site>/api/v2/series uma vez por minuto. Ambos se autenticam com o cabeçalho DD-API-KEY.

SinalNome no DatadogFrequênciaTags e campos
Log de cliquesource:elido, mensagem começa com link_clickUm por cliqueworkspace_id, link_id, slug, country, device, destination, ip, timestamp
Contagem de cliqueselido.clicksA cada 60sworkspace_id, vendor:elido
Cliques por paíselido.clicks_by_countryA cada 60sacima mais country
Cliques por dispositivoelido.clicks_by_deviceA cada 60sacima mais device

As métricas são gauges, e o valor é o número de cliques contados desde o envio anterior. Portanto, um ponto de 37 significa 37 cliques aproximadamente no último minuto. Essa é a unidade natural para um gráfico operacional, e significa que você deve somar ao longo do tempo para obter totais, em vez de aplicar as_count(). Observe o que está faltando: não há nenhuma tag link_id ou slug nas métricas. Considero essa uma decisão sensata em termos de custo, porque o Datadog cobra pelas métricas personalizadas por combinação única de tags, e uma tag slug em um workspace movimentado multiplicaria a quantidade de séries pelo número de links.

Os campos dos logs chegam aninhados em um objeto attributes, então, no Log Explorer, as facetas aparecem como @attributes.slug e @attributes.country. Expanda um log antes de construir qualquer coisa. Dez segundos agora poupam uma consulta quebrada.

Conectando o Datadog ao seu workspace do Elido

A configuração envolve dois campos. Você precisa de uma chave de API do Datadog, não de uma chave de aplicação, e do site em que a sua organização está hospedada.

  1. No Datadog, abra Organization Settings, depois API Keys, e crie uma chave com um nome como elido-forwarder.
  2. Confira o seu site. O guia de sites do Datadog relaciona cada URL de login ao seu site; app.datadoghq.eu significa que você deve informar datadoghq.eu, enquanto us5.datadoghq.com significa que deve informar exatamente isso.
  3. No Elido, abra Integrations, escolha Datadog, cole a chave, informe o site e salve. A chave é criptografada em repouso.
  4. Aguarde até cinco minutos, pois o forwarder armazena em cache as configurações de integração do workspace; depois, clique em um dos seus próprios links pelo celular e pesquise source:elido no Log Explorer.

Deixe o site em branco e o Elido assumirá datadoghq.com. Para uma organização da UE, essa é a falha silenciosa clássica. Um erro de digitação causa o mesmo. Todo POST falha, e ninguém vê o erro.

O botão Test connection envia um log de teste, marcado com elido_test: true, para o seu site do Datadog e mostra a resposta do Datadog. Assim, uma chave ou um site incorreto falha imediatamente com o 403 do Datadog. Uma aprovação comprova que a chave funciona, não que seus pipelines e índices mantêm os logs; portanto, a prova real continua sendo um log de clique aparecendo. Vale a mesma regra do forwarder de cliques do Mixpanel: clique real ou não aconteceu.

Criando um dashboard de latência de redirecionamento que mede o salto

Como o Elido não envia tempos, os dados de latência precisam vir de algo que faça requisições. Um teste HTTP do Datadog Synthetics é a ferramenta certa e mede o que o visitante sente, incluindo DNS e TLS.

Fluxo de dados do monitoramento de URLs no Datadog: os cliques de visitantes reais passam pelo redirecionamento do Elido e são encaminhados como logs de cliques e uma métrica elido.clicks por minuto, enquanto uma sonda do Datadog Synthetics solicita um link curto canário com os redirecionamentos desativados e registra o status e o tempo de resposta; ambos alimentam um dashboard de latência de redirecionamento

Este é o teste que configurei em cada workspace:

  • URL: um link canário dedicado, idealmente no seu próprio domínio personalizado, apontando para algum destino simples e estável.
  • Follow redirects: desativado. Ativado, ele mede o tempo da sua página de destino, e uma imagem hero lenta fará o alerta disparar às 3h da manhã por causa de um redirecionamento que estava normal.
  • Assertions: o código de status é 302, o padrão; use 301 ou 307 se foi isso que você configurou, e 301 vs 302 explica a diferença; o cabeçalho location contém o seu destino; e o tempo de resposta fica abaixo de um limite.
  • Locations: pelo menos três, sendo uma na região da UE onde está o seu público. Execute a cada minuto.
  • Header: um User-Agent contendo bot, para que o Elido trate a sonda como um bot e ignore o evento de clique.

Escolha o limite com base no que você observar durante uma semana, não em uma publicação de blog. Os tempos sintéticos incluem o próprio caminho de rede da sonda, então uma sonda em outro continente nunca corresponderá a um número da região, e tudo bem. O que você quer é uma linha que permaneça estável.

O dashboard precisa então de quatro widgets. Tempo de resposta por localização, como uma série temporal do teste sintético. Taxa de aprovação das asserções. Cliques por minuto de elido.clicks. E uma lista dos principais países.

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

Por que default_zero? Porque um minuto sem cliques não produz ponto algum e, sem a função de interpolação, o Datadog desenha uma linha reta atravessando a lacuna. Essa linha mente.

Três monitores cobrem a maior parte do que pode dar errado com os links, e cada um usa uma fonte diferente. É aí que a separação da primeira seção compensa.

Redirecionamento quebrado ou lento. O teste sintético já é um monitor. Dispare um alerta quando duas ou mais localizações falharem na mesma execução, para que uma região de sondagem instável não acorde ninguém. Qualquer resposta diferente do seu 302 falha na asserção de status, então um link canário excluído, expirado ou pausado aparece aqui como 404 ou 410.

Tráfego interrompido. Crie um monitor de métricas em sum:elido.clicks{workspace_id:42} e ative a notificação de dados ausentes após, por exemplo, 30 minutos. Como o Elido não envia nada em um minuto sem atividade, "no data" aqui realmente significa "no clicks", que é o evento que importa durante uma campanha.

Tráfego anormal. Um monitor de anomalias na mesma métrica, com a direção definida como abaixo, detecta uma campanha que normalmente faz 4.000 cliques por hora e de repente faz 200. Já vi esse padrão três vezes, e em todas elas a causa estava fora do link: um anúncio reprovado, uma newsletter enviada para o segmento errado, um cartaz com QR code atrás de um andaime. Dê algumas semanas de histórico antes de confiar nas faixas.

Quer alertas por link? As métricas não conseguem fazer isso, mas os logs conseguem. Crie uma métrica baseada em logs a partir de source:elido, agrupada por @attributes.slug, e você terá uma contagem de cliques por slug que poderá monitorar. Restrinja-a a um conjunto filtrado de slugs de campanha, ou o custo da cardinalidade voltará pela porta dos fundos.

Um SLO que você consegue realmente defender

Um objetivo de nível de serviço em um link curto só significa alguma coisa se a fonte dele medir o redirecionamento. Crie-o sobre o teste sintético. Um SLO baseado em monitor com esse único teste como monitor resolve o problema.

Layout de um dashboard de latência de redirecionamento no Datadog: tempo de resposta sintético por localização, taxa de aprovação das asserções, elido.clicks por minuto com default_zero, principais países de elido.clicks_by_country, três monitores para redirecionamento quebrado, tráfego interrompido e anomalia de cliques, e um SLO baseado em monitor no teste canário

Eu começaria com 99,9% em 30 dias. Isso corresponde a cerca de 43 minutos de verificações falhas por mês, um orçamento que você consegue explicar a um líder de marketing em uma frase. Não o crie com base no volume de cliques. Cliques medem demanda, não saúde; um link em que ninguém clica está perfeitamente disponível.

Se uma linha estável naquele widget de SLO é o que estava faltando, configure um workspace, aponte o canário para o seu próprio domínio e execute-o por uma semana antes de definir a meta.

Elido auto-hospedado: coletando os contadores de redirecionamento

Em uma instalação auto-hospedada, você obtém mais uma fonte. O serviço de redirecionamento expõe um endpoint Prometheus em /metrics, e o check OpenMetrics do Datadog Agent pode coletá-lo. A série útil é elido_edge_redirect_total, um contador com os rótulos fleet e outcome, cujos resultados incluem ok, notfound, expired, paused e error.

Isso oferece o que a integração SaaS não oferece: uma taxa real de 404 em todo o tráfego, calculada como notfound sobre o total. Um segundo contador, edge_redirect_clicks_filtered_bot_total, mostra quantos redirecionamentos foram servidos a bots sem um evento de clique. Esse endpoint, porém, não tem histograma de latência. A latência continua vindo do Synthetics, seja auto-hospedado ou não. O playbook de auto-hospedagem do k3s explica onde esse endpoint fica na implantação.

Onde a integração com o Datadog para

Agora, os limites que provavelmente vão causar problemas primeiro.

A entrega é feita no melhor esforço. Um POST de log que falha recebe uma nova tentativa após um segundo e depois é descartado. Uma falha no envio das métricas não é repetida; aquele minuto é perdido, e a próxima janela começa limpa. Trate elido.clicks como uma linha de tendência e reconcilie os totais com as próprias análises de cliques do Elido, que são a fonte de verdade.

Os logs carregam o IP do visitante e a URL de destino completa, incluindo as tags UTM. Se a sua organização do Datadog está nos EUA, esses são dados pessoais saindo da UE, e o guia de residência de dados na UE para equipes de marketing explica como avaliar isso. No mínimo, escolha o site da UE se você tiver essa opção.

O custo dos logs cresce com os cliques, um log ingerido por clique. Um link viral gera uma conta viral. Filtros de exclusão ou uma métrica baseada em logs combinada com um índice de retenção curta mantêm tudo sob controle.

E o escopo são os cliques. Não há eventos de criação de links, conversões, latência nem códigos de status. Sinceramente, não tenho certeza de que um forwarder de cliques deva carregar latência; a sonda que mede de fora é uma testemunha mais confiável de qualquer forma.

Leia o artigo principal → Atingindo p95 abaixo de 15 ms para redirecionamentos

Relacionado no blog

Perguntas frequentes

Posso monitorar links curtos no Datadog?

Sim, de duas formas. O Elido encaminha cada clique para o Datadog como um log e envia contagens de cliques por minuto como métricas, cobrindo o volume de tráfego. Para disponibilidade e latência, você adiciona um teste HTTP do Datadog Synthetics contra um link curto canário, que mede o redirecionamento de fora, da forma como um visitante o vivencia.

Quais métricas o Elido envia para o Datadog?

Três métricas do tipo gauge, enviadas uma vez por minuto por workspace: elido.clicks, com a contagem de cliques da janela; elido.clicks_by_country, com uma tag de país; e elido.clicks_by_device, com uma tag de dispositivo. Todas carregam as tags workspace_id e vendor:elido. Além delas, cada clique é enviado como um log com source elido.

O Elido envia a latência de redirecionamento para o Datadog?

Não. A integração envia cliques, não tempos, e não há nenhuma métrica de latência ou de código de status no payload. Em vez disso, crie o dashboard de latência de redirecionamento a partir de um teste HTTP do Datadog Synthetics, com o seguimento de redirecionamentos desativado, para que o tempo de resposta exibido seja apenas o do salto de redirecionamento, e não o da sua página de destino.

Qual site do Datadog um workspace da UE deve usar?

Use o site em que a sua organização do Datadog está hospedada, informado como domínio simples, por exemplo datadoghq.eu para o site da UE. Se você deixar o campo vazio, o Elido usará datadoghq.com, o site dos EUA, e uma organização da UE não verá nada que chegue lá.

Por que minha métrica de cliques do Elido mostra nenhum dado em vez de zero?

O Elido só envia um ponto para um minuto em que o workspace teve pelo menos um clique. Um minuto sem atividade não produz ponto algum, então o Datadog mostra uma lacuna. Envolva a consulta em default_zero() nos dashboards e use um alerta de ausência de dados quando quiser detectar uma interrupção completa do tráfego.

As verificações sintéticas do Datadog contam como cliques no Elido?

Podem contar. O Elido ignora o evento de clique para user agents que correspondem à sua lista de bots, como os que contêm a palavra bot ou bibliotecas HTTP comuns. Defina um cabeçalho User-Agent personalizado no teste sintético que inclua bot e aponte o teste para um link canário dedicado, para que as sondas nunca inflacionem os números da campanha.

Experimente Elido

Cole uma URL, obtenha um link curto

Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.

Grátis, sem necessidade de registo · 2 por dia

Experimente o Elido

Encurtador de URL hospedado na UE: domínios personalizados, análises profundas e API aberta. Plano gratuito - sem cartão de crédito.

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

Continuar lendo