Pular para o conteúdo
Módulo 8 · Aula 17 de 25

ClickHouse para análise de entrega

Parte do curso KumoMTA: motor de envio de alto volume, no módulo Logs, hooks e ClickHouse.

Autor

O ClickHouse transforma bilhões de linhas de log em análises em menos de um segundo. O KumoMTA documenta o schema no projeto, e a maioria dos ESPs o usa desde o primeiro dia.

Exemplo de tabela:

CREATE TABLE kumomta_events (
  ts DateTime,
  type LowCardinality(String),
  tenant LowCardinality(String),
  campaign LowCardinality(String),
  domain LowCardinality(String),
  egress_source LowCardinality(String),
  response_code UInt16,
  enhanced_code LowCardinality(String),
  bounce_category LowCardinality(String),
  recipient String,
  message_id String
) ENGINE = MergeTree
ORDER BY (ts, tenant, domain);

Consultas do dia a dia:

-- Delivery rate per destination, last hour
SELECT domain,
       countIf(type='Delivered') / countIf(type IN ('Delivered','Bounced')) AS delivery_rate
FROM kumomta_events
WHERE ts > now() - INTERVAL 1 HOUR
GROUP BY domain ORDER BY delivery_rate DESC;

-- Top bounce categories per tenant
SELECT tenant, bounce_category, count() AS n
FROM kumomta_events WHERE type='Bounced' AND ts > today()
GROUP BY tenant, bounce_category ORDER BY n DESC LIMIT 50;

É aqui que a entregabilidade deixa de ser adivinhação. Você responde "nossa entrega no Yahoo está piorando?" em segundos.

Entre para acompanhar o que você já leu.

Pulse · envio de cold email

Infraestrutura de envio só sua.

Cada domínio tem o próprio host MX, IP, seletor DKIM e certificado. O Pulse gerenciado já está disponível, e nós operamos para você; a versão self-hosted chega no 4º trimestre de 2026.

# em um servidor Ubuntu novo
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Também nosso:Beat: monitoramento que diz a correçãoConsultoria: US$ 65/hora, sem retainer