Runbook — Incidente no Bot Handler
Sinais de incidente
- Erro elevado (5xx) no API Gateway/Lambda.
- Latência p95 acima do SLO da fase.
- Falhas consecutivas de dependências (
llm_gateway,data_service,sqs_send). - Circuit breaker aberto com recorrência.
Pré-requisitos de acesso
- Permissão de leitura em CloudWatch Logs/Metrics.
- Permissão de leitura em filas SQS e funções Lambda.
- Acesso ao repositório e workflow de CI.
Passo a passo (triagem)
-
Confirmar
GET /health:curl https://<api-url>/health
# Esperado: 200 {"status":"ok"}Verificar
metricsecircuitsno payload. -
Verificar logs recentes da função — buscar:
trace.endcomoutcome=errorreason=rate_limit,kpi_query_failure- Erros de parsing/auth
-
Validar integridade de dependências:
llm_gatewayrespondendodata_servicerespondendo consultas- Fila SQS disponível
-
Conferir regressão recente:
- Últimos commits na branch
staging - Resultado dos jobs
qualitye smoke no CI
- Últimos commits na branch
Mitigação imediata
| Cenário | Ação |
|---|---|
| Falha em dependência externa | Modo degradado, resposta amigável ao usuário |
| Falha no enqueue SQS | Confirmar ao usuário e registrar para retry operacional |
| Erro de autenticação/assinatura | Validar ALLOW_ANONYMOUS, VALIDATE_BOT_SIGNATURE, BOT_SIGNATURE_SECRET |
| Circuit breaker aberto persistente | Investigar causa raiz, aguardar cool down |
Verificação pós-mitigação
npm run lint
npm run build
npm run test
npm run test:smoke
GET /health deve retornar status=ok sem crescimento anômalo de falhas.
Critério de encerramento
- Erro e latência retornam à faixa normal por pelo menos 30 minutos.
- Sem novos alarmes críticos no período.
- Causa raiz e ação preventiva documentadas.