Os três primeiros alertas que todo sistema precisa
Antes de dashboard, antes de SLO, antes de tudo: três alertas que pegam a maioria das quedas e quase nunca mentem.
A maioria dos sistemas que audito tem um de dois cenários de alerta. Ou não existe alerta, e o time fica sabendo da queda pelos clientes, ou existem duzentos alertas, e o time aprendeu a ignorar todos. Os dois são a mesma falha. O alerta em que ninguém confia é o alerta que não existe.
Então quando um time pequeno me pergunta por onde começar, eu não digo 'defina seus SLOs'. Isso vem depois. Eu digo: configure três alertas, deixe eles precisos, faça eles acordarem alguém, e se recuse a adicionar um quarto até esses três terem se provado por um mês.
Alerta um: a porta de entrada está falhando
O primeiro alerta é a taxa de erro na borda. Não por serviço, não por endpoint. A proporção de requisições voltadas ao usuário que retornam 5xx, medida numa janela curta, comparada com um limiar que reflete dano real.
Os detalhes importam. Use proporção, não contagem, para que crescimento de tráfego não gere alarme falso e uma noite tranquila não esconda um alarme real. Use uma janela de poucos minutos, longa o suficiente para suavizar uma instância ruim de deploy, curta o suficiente para que o cliente ainda não tenha escrito um email irritado. Defina o limiar olhando uma semana normal: se a sua base é 0,1 por cento, alerte em 1 por cento sustentado por cinco minutos e ajuste depois de um mês de dados. Exclua os erros que são culpa do cliente, ou seja, 4xx fica de fora, e exclua endpoints de health check, que senão dominam a contagem.
Esse alerta sozinho pega a maioria das quedas: deploy ruim, banco fora, dependência fora, certificado vencido, falta de memória. Ele não é diagnóstico. Só diz 'tem algo errado e o usuário está sentindo', que é exatamente o que você quer ouvir primeiro.
Alerta dois: a porta de entrada está lenta
O segundo alerta é latência na borda, especificamente a cauda. O p99 da duração das requisições voltadas ao usuário numa janela parecida, acima de um limiar que representa 'o produto parece quebrado'.
Média esconde tudo. Um p50 de 120 milissegundos é compatível com um usuário em cada cem esperando oito segundos, e esses usuários são os que têm as contas maiores e mais dados. Um limiar de p99 em duas ou três vezes o seu p99 normal pega o banco lento, a contenção de lock, a dependência que não morreu mas está morrendo, a pressão de memória que ainda não virou kill por falta de memória.
Lentidão é o aviso antecipado da maioria das falhas que o alerta um vai pegar eventualmente. Se você dispara em latência, ganha dez minutos de ação antes de ser acordado por erros.
Alerta três: o que deveria estar acontecendo não está
O terceiro alerta é de outra natureza. É o alerta de ausência. Todo sistema tem um batimento: pedidos sendo criados, jobs terminando, mensagens sendo consumidas, backups concluindo. O terceiro alerta dispara quando o batimento para.
Taxa de erro e latência assumem que tráfego está chegando. Mas se o consumer da fila morreu em silêncio, nenhum erro é produzido e nenhuma latência é medida. O trabalho simplesmente para. Se o backup noturno não rodou, nada fica vermelho. Se o cron que manda lembretes não executa há dois dias, nenhum dashboard mostra. Escolha o processo de negócio cujo silêncio mais doeria e alerte em 'zero conclusões nos últimos N minutos, nos horários em que N minutos de silêncio é anormal'.
Esse é o alerta que pega as falhas que os outros dois não enxergam, e na minha experiência é o que encontra os incidentes que ninguém mais encontra.
Regras para manter eles honestos
- Todo alerta acorda um humano que consegue agir. Se ninguém consegue agir, é dashboard, não alerta.
- Todo alerta tem um runbook de uma linha: o que checar primeiro, o que fazer em seguida.
- Todo falso positivo é corrigido dentro da semana, mudando o limiar ou a query, nunca silenciando.
- Nenhum alerta novo entra até estar ligado a uma falha concreta que você já viu ou espera de forma crível.
Três alertas bem calibrados valem mais do que trezentos adicionados sem cuidado. Comece aí. Adicione o quarto quando os três primeiros tiverem conquistado a sua confiança, e não antes.