AI Runbooks
Como o Aegies gera, executa e personaliza runbooks automatizados para remediação de incidentes.
O que são AI Runbooks
Um runbook é um procedimento documentado para resolver um tipo específico de problema — um script de operações que antes ficava na cabeça ou no Notion de um engenheiro sênior.
O Aegies gera runbooks automaticamente com base no incidente detectado, usando o contexto completo da stack: traces, logs, métricas, deploys recentes e histórico de incidentes similares. Em vez de você escrever e manter runbooks manualmente, o Aegies os gera e executa — você só aprova.
Ciclo de vida de um runbook
1. Aegies detecta anomalia
↓
2. Correlaciona causa raiz (trace + log + deploy)
↓
3. Gera runbook com passos de remediação
↓
4. Exibe proposta no console com estimativa de risco
↓
5. Engenheiro aprova com 1 clique (ou auto-executa se pré-configurado)
↓
6. Aegies executa e monitora resultado via SLO
↓
7. Rollback automático se o SLO piorar
Tipos de runbook gerados
Banco de dados
| Problema | Runbook gerado |
|---|---|
| Query N+1 detectada | Sugestão de índice + query refatorada como PR |
| Slow query acima do p95 | EXPLAIN ANALYZE automático + otimização de índice |
| Conexões esgotadas | Ajuste de max_connections + instrução de pool |
| Tabela sem índice em coluna de filtro | CREATE INDEX CONCURRENTLY sem lock |
Aplicação
| Problema | Runbook gerado |
|---|---|
| Memory leak detectado | Identificação do objeto + patch de GC ou fix de referência |
| CPU spike em função específica | Profiling automático + sugestão de otimização |
| Exception nova recorrente | Stack trace + localização no código + PR de fix |
| Timeout em chamada externa | Circuit breaker + retry com backoff exponencial |
Infraestrutura
| Problema | Runbook gerado |
|---|---|
| Pod com OOMKilled repetido | Ajuste de resources.limits.memory no Deployment |
| HPA não consegue escalar | Diagnóstico de limites de nó + configuração corrigida |
| Certificado próximo do vencimento | Renovação automática via cert-manager |
| Disco chegando ao limite | Identificação de arquivos grandes + limpeza ou resize |
Executando um runbook
Via notificação (Slack / Teams)
Quando o Aegies detecta um incidente, você recebe uma mensagem com:
🚨 Aegies detectou: Query lenta em payments-api
Causa: Query SELECT sem índice na tabela orders (298ms avg)
Runbook: Criar índice em orders.created_at
Risco: Baixo — CREATE INDEX CONCURRENTLY (sem lock de tabela)
Impacto estimado: redução de 78% no tempo de query
[✅ Aprovar] [👀 Ver detalhes] [❌ Rejeitar]
Clicar em Aprovar executa o runbook imediatamente.
Via API
curl -X POST https://api.dodoaegies.com/v1/incidents/inc_abc123/approve \
-H "Authorization: Bearer $DODO_KEY"
Via console
Em Incidents → [incidente] → Runbook → Execute, com log em tempo real da execução.
Runbooks customizados
Você pode definir runbooks próprios que o Aegies escolherá quando detectar o padrão correspondente:
# .dodo/runbooks/restart-worker.yaml
name: "Reiniciar worker travado"
trigger:
service: background-worker
pattern: "Worker heartbeat timeout"
consecutive: 3
steps:
- name: "Verificar estado dos pods"
run: kubectl get pods -n production -l app=background-worker
- name: "Coletar logs pré-restart"
run: kubectl logs -n production -l app=background-worker --tail=200
- name: "Reiniciar deployment"
run: kubectl rollout restart deployment/background-worker -n production
- name: "Aguardar pods saudáveis"
wait:
condition: deployment/background-worker rollout complete
timeout: 120s
notify:
on_success: ["#ops-alerts"]
on_failure: ["#oncall"]
Auditoria completa
Todo runbook executado gera um registro de auditoria imutável com:
- Quem aprovou (usuário ou “auto-approved” com política)
- Quando foi aprovado e executado
- O quê foi executado (comandos exatos)
- Resultado (saída completa + status)
- SLO antes e depois da execução
Disponível em Settings → Audit Log e exportável via API.
Próximos passos
- AI Policies — configurar quais classes de problema o Aegies pode corrigir automaticamente
- Motor de IA — como o Aegies detecta a causa raiz
- SLOs — rollback automático quando o runbook não funciona