KNOVATU LAB · LIÇÃO 01 · OBSERVABILIDADE

Sampling: onde você corta a telemetria?

Você já conhece o padrão agente → gateway. Agora a decisão que separa arquitetura de configuração: onde aplicar sampling. O painel ao lado é uma infraestrutura simulada reagindo às suas escolhas — nada aqui é vídeo.

01

O cenário

Sua zona on-premises tem milhares de hosts (ajuste no painel), cada um com um agente enxuto enviando traces pro gateway. O backend de APM cobra por evento ingerido, e o link de saída cobra por GB. Sem sampling, você paga fidelidade total — em dobro.

Sampling probabilístico descarta uma fração dos traces. A pergunta desta lição não é "quanto" — é "onde". E o onde muda tudo: custo, governança e o que você consegue fazer depois.

Os componentes do diagrama são clicáveis — toque num nó pra ver o que ele faz e seus números ao vivo.

02

Sua decisão

Head-based sampling de 25%. Você é o arquiteto da zona. Onde aplica?

Troque de resposta à vontade — observe os contadores, a espessura dos fluxos no diagrama e o aviso de configuração. Errar aqui é grátis; em produção, não.

03

Agora no YAML de verdade

Esta é a config do gateway (OTel Collector). Mexa e rode: mude o sampling_percentage, remova o filter do pipeline, quebre a indentação de propósito. A infraestrutura simulada interpreta o que você escreveu.

otel-collector · gateway.yaml

Só conta o que está dentro do pipeline — declarar um processor e esquecer de listá-lo em service.pipelines.traces.processors é o erro nº 1 de OTel em produção. Teste.

04

O dia em que dá errado

Arquitetura boa não é a que funciona no dia bom — é a que degrada com dignidade no dia ruim. O botão vermelho no painel derruba o backend de APM. Aperte e observe: o fluxo de export morre, e o buffer do gateway começa a encher. Quem decide o final dessa história é o memory_limiter que você deixou (ou não) no pipeline.

Com o limiter, o gateway segura o que cabe e descarta o resto com controle — degradação escolhida. Sem ele, a memória cresce até o kernel decidir por você: OOMKilled, restart, e o buffer inteiro perdido de uma vez. Teste os dois finais: rode o YAML com e sem o limiter no pipeline antes de apertar o botão.

Repare também na recuperação: ao restaurar o backend, o export dispara acima do normal enquanto o buffer drena — aquele pico pós-incidente que assusta dashboards e times de capacity. Agora você sabe o que ele é.

05

Os três mundos, lado a lado

Arraste e compare. Os números abaixo não são de exemplo: são calculados pra 2.000 hosts (seu slider) com o percentual que está no seu YAML agora. Mude qualquer um dos dois e volte aqui.

A · SAMPLING NO AGENTE

na prática: Zabbix agent c/ filtros locais · OTel agent c/ probabilistic_sampler · Datadog agent c/ sampling rules
ZONA ON-PREM app · vms k8s · nodes sampler × 2.000 2.000 hosts gw pool × 1 FW · EGRESS APM SaaS fora da zona
export/s
R$/mês
pontos de config
gateways p/ zona
Melhor pra: rede/egress espremidos na origem — pool de gateway mínimo. Paga com: política replicada host a host (drift, campanha de change) e tail-based inviabilizado — o contexto morre antes de agregar.

B · SAMPLING NO GATEWAY

na prática: OTel Collector em modo gateway · Dynatrace ActiveGate · Zabbix proxy · Vector aggregator
ZONA ON-PREM app · vms k8s · nodes agent · só coleta 2.000 hosts gw pool × 2 sampler × 1 FW · EGRESS APM SaaS fora da zona
export/s
R$/mês
1
ponto de config
gateways p/ zona
Melhor pra: governança e evolução — uma config aplicada ao pool inteiro, visão agregada, tail-based possível. Paga com: o pool processa 100% do ingest — repare que ele precisa de mais réplicas que o cenário A. Capacity planning é seu agora.

C · SEM SAMPLING

na prática: OneAgent direto pro tenant SaaS · agente → backend sem camada de agregação — a POC que virou produção
ZONA ON-PREM app · vms k8s · nodes agent · só coleta 2.000 hosts gw pool × 2 · repasse FW · EGRESS APM SaaS cobra por ingest
export/s
R$/mês
0
pontos de config
gateways p/ zona
Melhor pra: zonas pequenas e dado regulatório — fidelidade 100%, como decisão consciente. Paga com: a fatura ao lado crescendo linear com a zona, e o backend precificando cada span que ninguém decidiu manter.

Regra da casa: agente burro, gateway inteligente — política de dados pertence ao ponto de agregação, salvo restrição de rede ou custo que force o corte na origem.