Confiabilidade · nota de engenharia

Heartbeat não prova função: caçando gray failures em produção

Um serviço "vivo" que não faz nada é indistinguível de um serviço saudável — até você medir a coisa certa. Esta é a lição que mais vezes nos cobrou caro, e a que mais mudou como construímos sistemas.

O incidente que virou doutrina

Operamos uma plataforma com centenas de agentes de IA, cada um publicando um heartbeat — o "estou vivo" clássico do monitoramento. Um dia, catorze serviços de consulta a uma base de conhecimento passaram semanas respondendo status: success com latência normal, contrato de resposta íntegro… e resultado vazio para qualquer pergunta. Nenhum alarme disparou. Ninguém falhava. Ninguém respondia.

Isso é um gray failure: o sistema não está morto — está inútil com aparência de saudável. Todo o instrumental clássico de observabilidade (uptime, heartbeat, taxa de erro) mede se o processo existe, não se ele cumpre a função pela qual existe.

Por que o vigia não viu

Pior: nosso próprio detector de problemas tinha o mesmo defeito. Ele enumerava agentes a partir dos sinais que chegavam — e agente morto não emite sinal. O relatório dizia "104 agentes, 7 com alerta" e omitia, em silêncio, dezenas de ausentes.

Um vigia que só enxerga quem responde nunca vê quem morreu.

A correção estrutural: o monitor passou a comparar o roster esperado (o que deveria existir, declarado em configuração) contra o observado — e a ausência virou achado de primeira classe.

As três regras que ficaram

1. Meça função, não existência. Para cada serviço, defina a pergunta cuja resposta prova que ele funciona — e sonde com ela, fim a fim, contra dados reais. "Processo de pé" não é métrica de saúde; é pré-requisito.

2. Degradação anunciada vence vazio que mente. Quando um componente precisa operar em modo reduzido, a resposta sai rotulada (degraded: true) e o evento é logado. Um resultado pior e honesto vale mais do que um vazio indistinguível de "não há nada".

3. Falso positivo é o inimigo do vigia. A primeira versão do nosso detector acusava 52 ausências falsas — e vigia que grita demais é desligado, e para de proteger. Tão importante quanto detectar é calibrar o que não é achado.

O que isso significa para o seu sistema

Se o seu dashboard só mostra uptime e latência, você não sabe se o sistema funciona — sabe que ele existe. A pergunta que fazemos em toda auditoria de confiabilidade é simples: se este serviço passasse a devolver respostas vazias agora, em quanto tempo alguém perceberia? Se a resposta é "quando um cliente reclamar", há um gray failure esperando a vez dele.

Quer essa auditoria no seu sistema?
Primeira conversa sem custo.

Falar com a Vector Trends