Pular para o conteúdo

Health checks: como saber se o sistema está vivo de verdade

O servidor responde, mas o banco caiu. O monitoramento diz que está tudo bem. Health checks bem feitos mostram se o sistema está realmente funcionando.

Por Equipe We Codex3 min de leitura

Plataformas de hospedagem, balanceadores de carga e ferramentas de monitoramento perguntam periodicamente ao sistema: "você está vivo?". A resposta vem de um health check. Se ele responde "sim" sem verificar nada, o sistema pode estar quebrado e ninguém fica sabendo.

Dois tipos de verificação

  • Vivo (liveness): o processo está rodando e respondendo? Se não, reinicie.
  • Pronto (readiness): o sistema consegue atender requisições — banco conectado, dependências essenciais acessíveis? Se não, pare de mandar tráfego para esta instância.

O que verificar no "pronto"

  1. 1.Conexão com o banco (uma consulta simples e rápida).
  2. 2.Cache e filas, se forem essenciais (Cache com Redis: respostas rápidas sem servir dados velhos, Filas e jobs em background: tirando tarefas pesadas da requisição).
  3. 3.Espaço em disco e memória, quando relevante.
ts
app.get('/health/ready', async (_req, res) => {
  try {
    await db.$queryRaw`SELECT 1`
    res.json({ status: 'ok' })
  } catch {
    res.status(503).json({ status: 'indisponivel' })
  }
})

Cuidados

Verificação de ponta a ponta

Além do health check interno, um monitor externo que acessa o site como um usuário (abre a página, faz login de teste) confirma que tudo funciona de verdade (Observabilidade para quem não é SRE: métricas, logs e traces).

A We Codex entrega sistemas monitorados. Veja sistemas web ou fale com a gente.

  • Health check
  • Monitoramento
  • Disponibilidade
  • Operação
CompartilharWhatsAppLinkedIn

Resolver de vez, com quem faz isso todo dia

Precisa de uma API ou integração que não caia quando o negócio crescer?

Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.