Um endpoint de health check é a forma mais simples e eficaz de saber se seu app Next.js está funcionando corretamente. É uma rota dedicada que retorna o status da sua aplicação e suas dependências (banco de dados, cache, APIs externas) em formato legível por máquinas.
Passo 1: Criar o Endpoint Básico
No Next.js App Router, crie app/api/health/route.ts que retorne um JSON com status, timestamp e uptime do processo. Retorne HTTP 200 para saudável, 503 para não saudável.
Passo 2: Adicionar Checks de Dependências
Adicione verificações de banco de dados (query simples como SELECT 1), APIs externas (Stripe, Auth0) e uso de memória. Se qualquer dependência falhar, retorne HTTP 503.
Passo 3: Monitorar de Fora
Um health check que ninguém verifica é inútil. Você precisa de um serviço externo que chame sua rota /api/health regularmente de fora da sua infraestrutura.
Aponte um serviço de monitoramento de uptime para a sua URL /api/health com um intervalo de 1 a 5 minutos, de preferência de mais de uma região. Para uma versão mínima feita à mão, basta um job agendado fora da sua hospedagem (um cron em outro servidor ou um workflow agendado de CI) que faça um fetch com timeout e avise se a resposta não for 200. As boas ferramentas também registram DNS, TLS, TTFB e tamanho da resposta.
Passo 4: Configurar Alertas
Configure regras de alerta para API fora do ar, alta latência, taxa de erros e expiração SSL. Envie os alertas para o canal que seu time realmente acompanha (Slack, email, SMS ou um pager), com uma notificação quando o incidente começa e outra quando se resolve.
Melhores Práticas
- Mantenha rápidoHealth checks devem responder em menos de 500ms
- Não faça cacheSempre execute fresco com
Cache-Control: no-cache - Inclua versãoRetorne a versão do app ou commit hash
- Use JSON estruturadoFormato consistente para ferramentas de monitoramento
