Noções Básicas de Incidentes
8 exemplos para gerenciar seu primeiro incidente Node.js com calma - 6 básicos e 2 intermediários. Cobre severidade, comunicação e o checklist dos primeiros 15 minutos.
Busque em todas as páginas da documentação
8 exemplos para gerenciar seu primeiro incidente Node.js com calma - 6 básicos e 2 intermediários. Cobre severidade, comunicação e o checklist dos primeiros 15 minutos.
requestId e traceId (veja IDs de Correlação de Requisição)| Severidade | Definição | Exemplo Node.js |
|---|---|---|
| SEV1 | Interrupção que afeta o cliente ou risco de perda de dados | Todos os pods OOMKilled, 100% 5xx |
| SEV2 | Degradação importante, com solução alternativa | p95 > 5s, checkout lento |
| SEV3 | Impacto menor, correção no próximo dia útil | Atraso em webhook de um tenant |
| SEV4 | Cosmético ou apenas interno | Falha no deploy do staging |
[SEV2] orders-api alta latênciaRelacionado: Melhores Práticas de Resposta a Incidentes - checklist completo do runbook
Comandante do Incidente (IC) - responsável pelas decisões, cronograma, escalonamento
Líder Técnico (TL) - conduz a mitigação, lê logs/métricas
Líder de Comunicação (Comms Lead) - página de status, atualizações para stakeholders
Escriba (Scribe) - cronograma, comandos executados, links para gráficos#incident-orders-api[ ] Acuse o alerta; entre na ponte / sala de bate-papo do Slack
[ ] Confirme o raio de explosão (quais serviços, tenants, regiões)
[ ] Verifique o último deploy (SHA do git, hora, quem)
[ ] Grafana: taxa de erros, p95, reinícios de pods, contagem de OOMKilled
[ ] Logs: pico de 5xx, ECONNREFUSED, timeout de pool, ETIMEDOUT
[ ] Mudanças recentes de configuração/segredo/flag
[ ] Decida: rollback, escalar, desativar feature-flag ou investigar
[ ] Poste a primeira atualização externa se SEV1/SEV2kubectl get pods / tarefas ECS antes das mudançasRelacionado: Resposta ao OOM Killer - triagem de memória | Rollback de Deploy Ruim - caminhos de rollback
Mitigação é melhor que diagnóstico perfeito na primeira hora.
| Sintoma | Mitigação rápida |
|---|---|
| Deploy ruim | Reverter para a imagem SHA anterior |
| Pico de tráfego | Escalar HPA ao máximo; ativar limite de taxa |
| Pool do DB esgotado | Reduzir concorrência de workers; pausar filas não críticas |
| Vazamento de memória | Reinício em rolo + desvio de tráfego para pods saudáveis |
| 502 de upstream | Abrir circuit breaker; servir resposta em cache/degradada |
Ruim: "O loop de eventos foi bloqueado devido à saturação do libuv."
Bom: "O checkout está falhando para cerca de 30% dos usuários. Implantamos uma correção às 14:22 UTC e os erros estão diminuindo. Próxima atualização em 20 minutos."
Modelo para atualizações de stakeholders:
**Impacto:** <quem é afetado, o que está quebrado>
**Status:** Investigando | Mitigando | Monitorando | Resolvido
**Ações:** <o que fizemos nos últimos 20 min>
**Próxima atualização:** <hora UTC># Memória e reinícios do pod
kubectl top pods -n production -l app=orders-api
kubectl describe pod <pod> | grep -A5 "Last State"
# Deploy recente
kubectl rollout history deployment/orders-api -n production
# Logs com correlação
# filter: service=orders-api level=error last 30mNODE_OPTIONS se for relacionado à memória0:00 IC declara severidade, impacto, hipótese atual
0:05 TL compartilha último snapshot de métricas
0:10 Decisão: rollback / escalar / desativar flag / continuar depuração
0:15 Comms posta atualização externa
0:25 Escriba lê o cronograma; confirma os responsáveis pelas ações
0:30 Repetir ou rebaixar a severidadeQuando resolvido:
[ ] Marque o incidente como resolvido no PagerDuty
[ ] Poste o resumo final para o cliente
[ ] Crie o documento de pós-mortem em até 48 horas (SEV1/SEV2)
[ ] Liste os itens de ação com responsáveis e datas de vencimento
[ ] Sem culpa - foque em sistemas e lacunas de processoincident-followupEngenheiro de plantão por padrão. Escalone para o líder técnico se o raio de explosão cruzar múltiplos serviços ou exceder 1 hora em SEV1.
Apenas SEV1, ou SEV2 durando mais de 30 minutos sem um caminho de mitigação. Evite acionar para manutenção conhecida.
Sim, se OOMKilled ou sem resposta, mas capture logs e anote a correlação do deploy primeiro. Prefira reinício em rolo em vez de excluir todos os pods de uma vez.
Esboce em até 48 horas para SEV1/SEV2. Revise em reunião de equipe em até 5 dias úteis.
Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5, e NestJS 11.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026