Uma semana depois do incidente de 8h40, os alertas novos começaram a tocar, sempre por volta das 21:30.
O pool de conexões do banco subiu noite após noite: 90%, 89%, 94,8%. Na terceira noite, 36 conexões recusadas.
Era a mesma falha daquele incidente, em formação. Só que desta vez sabíamos três noites antes.
O diagnóstico não veio de uma ferramenta cara. Veio de duas coisas simples:
- um alerta de conexões que tocou antes do impacto;
- um trace, na janela do alerta, que ligou um job noturno de um serviço à saturação do banco de outro.
O job fazia uma consulta por ponto de medição. A leitura no banco chegava a 12 vezes o normal, com a escrita parada. Era o padrão N+1, conhecido de qualquer livro.
Do primeiro erro ao diagnóstico, levou menos de um dia útil. O impacto em cliente foi zero.
No mesmo dia, corrigi dois alertas que davam falso positivo. Menos ruído é o que faz o time acreditar no próximo alerta.
A lição para quem gere risco: detectar cedo é barato. Poucos alertas certos e uma forma de ligar a causa ao sintoma valem mais que cem painéis.
Spoiler: a correção do job ainda não saiu. Detectar não é corrigir, e isso é assunto de outro post.
No seu time, o último incidente foi detectado pelo alerta ou pelo cliente?

Top comments (0)