Runbook: Reprocessamento de DLQ
Serviço afetado:events/ — pipeline Kafka
Alerta relacionado: atlas_dlq_messages_total > 0
Impacto: Eventos não ingeridos → métricas analíticas desatualizadas
1. Detectar
O alertaatlas_dlq_messages_total > 0 dispara quando qualquer mensagem é enviada ao topic atlas.events.dlq.
Para verificar manualmente:
2. Inspecionar
Ler as últimas mensagens da DLQ sem confirmar offset (modo dry-run):3. Reprocessar
3a. Reprocessamento automático via script
O serviçoevents/ expõe um endpoint interno para reprocessar a DLQ:
Resposta esperada:
3b. Reprocessamento manual via kafka-console-producer
Para casos onde o endpoint automático não está disponível:Atenção: Substituaatlas.events.raw.sportsbookpelo topic correto conforme o campooriginal_topicde cada mensagem.
4. Verificar Integridade
Após o reprocessamento, confirmar que:4a. DLQ zerada
4b. Eventos chegaram ao ClickHouse
4c. Métricas analíticas atualizadas
Acessar o dashboard de um operador afetado e verificar que os KPIs refletem os eventos reprocessados.4d. Confirmar offset da DLQ
Após verificar integridade, confirmar o offset do grupo consumidor da DLQ para evitar reprocessamento duplo:5. Escalar se necessário
Se o reprocessamento falhar repetidamente para as mesmas mensagens:- Isolar as mensagens problemáticas: mover para um topic
atlas.events.dlq.poisonpara análise sem bloquear o reprocessamento. - Abrir ticket no Linear com as mensagens exportadas e o erro observado.
- Notificar o time de dados se o volume de DLQ ultrapassar 10.000 mensagens — pode indicar problema sistêmico no pipeline.
Referências
- Configuração do Kafka producer:
events/internal/kafka/producer.go - Topics e ACLs:
data/migrations/kafka/ - Alertas de observabilidade:
infra/terraform/staging/monitoring.tf - Regras de alerta relacionadas:
atlas_dlq_messages_total,atlas_pipeline_gold_stale_minutes