pular para o conteúdo
voltar ao mapa
conceito
etapa: observar
2 min de leitura

Escala: telemetria, cardinalidade e custo

A mesma consulta que roda em segundos com um milhão de eventos pode custar uma fortuna com um trilhão. Escalar a segurança é um problema de design de dados.

BigQueryClickHouseCloudflare LogpushVector

O que é

Em uma aplicação grande, a borda gera bilhões de eventos por dia, e a maior parte é tráfego normal. Escalar a telemetria de segurança significa continuar enxergando os ataques sem pagar para guardar e varrer todo o resto da mesma forma.

Três variáveis mandam: volume (quantos eventos), cardinalidade (quantos valores distintos em um campo, como IPs ou user agents) e retenção (por quanto tempo cada dado precisa ficar quente).

Cardinalidade: o inimigo silencioso

Agregar por IP produz milhões de grupos; agregar por país, dezenas. Uma detecção que agrupa por uma chave de cardinalidade alta fica lenta e cara, e métricas com cardinalidade explosiva derrubam sistemas de monitoramento. A regra é agregar pelo nível mais grosso que ainda separa o ataque do normal (ASN, prefixo, país, família de user agent) e descer ao IP só quando necessário.

Particionar e pré-agregar

Duas técnicas resolvem a maior parte do custo: particionar as tabelas por tempo (e agrupar por colunas de filtro), para que uma consulta leia só a janela necessária, e manter agregados por minuto em uma tabela pequena para as detecções e painéis, deixando o dado bruto só para investigação.

agregado por minuto (BigQuery)sql
-- tabela bruta: particionada por dia, agrupada por host e path
CREATE TABLE sec.edge_events (
  ts TIMESTAMP, client_ip STRING, asn INT64, host STRING,
  path STRING, status INT64, user_agent STRING, bot_score INT64
)
PARTITION BY DATE(ts)
CLUSTER BY host, path;

-- agregado: é ele que as detecções leem
CREATE OR REPLACE TABLE sec.edge_1m AS
SELECT TIMESTAMP_TRUNC(ts, MINUTE) AS minute, host, path, asn,
       COUNT(*) AS reqs,
       COUNTIF(status IN (401, 403)) AS denied
FROM sec.edge_events
GROUP BY minute, host, path, asn;

Amostragem e retenção em camadas

  • Amostragem: para tráfego volumétrico e uniforme, guardar uma fração basta para estatística; eventos de segurança relevantes (bloqueios, desafios, anomalias) ficam sempre completos.
  • Retenção em camadas: bruto por poucos dias ou semanas, agregados por meses, indicadores executivos por anos.
  • Custo por detecção: toda regra nova deve estimar quanto lê e com que frequência roda.
  • Pipeline resiliente: filas e buffers para absorver picos sem descartar eventos, e contadores para saber quando algo foi perdido.

Escalar também é escalar o time

Volume não é só máquina: é número de regras, de exceções e de alertas que um time consegue manter. Padronizar o esquema, nomear e versionar detecções e automatizar o que é repetitivo é o que deixa o SOC crescer com o tráfego sem crescer na mesma proporção.

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

em outros domínios

Estude antes

teste o que entendeu

Carregando perguntas…