Runbook de Operações - Arah

Este documento contém procedimentos operacionais para o sistema Arah.

🚀 Deploy

  1. Verificar Pré-requisitos:

    # Verificar variáveis de ambiente
    env | grep -E "JWT__SIGNINGKEY|CORS__ALLOWEDORIGINS|ConnectionStrings"
    
    # Verificar health checks
    curl https://api.Arah.com/health
    
  2. Executar Migrations:

    dotnet ef database update --project backend/Arah.Infrastructure --startup-project backend/Arah.Api
    
  3. Deploy da Aplicação:

    # Docker
    docker-compose up -d --build
    
    # Kubernetes
    kubectl apply -f k8s/
    kubectl rollout status deployment/Arah-api
    
  4. Verificar Deploy:

    # Health check
    curl https://api.Arah.com/health/ready
    
    # Verificar logs
    docker logs Arah-api --tail 100
    

⏪ Rollback

Rollback Rápido

  1. Identificar Versão Anterior:

    git log --oneline -10
    
  2. Rollback:

    # Docker
    docker-compose down
    git checkout <commit-anterior>
    docker-compose up -d --build
    
    # Kubernetes
    kubectl rollout undo deployment/Arah-api
    
  3. Verificar Rollback:

    curl https://api.Arah.com/health/ready
    

⚠️ ATENÇÃO: Rollback de migrations pode causar perda de dados. Sempre fazer backup antes.

# Listar migrations
dotnet ef migrations list --project backend/Arah.Infrastructure --startup-project backend/Arah.Api

# Rollback para migration específica
dotnet ef database update <MigrationName> --project backend/Arah.Infrastructure --startup-project backend/Arah.Api

📞 Escalação

  1. Nível 1 - Equipe de Desenvolvimento

    • Problemas de funcionalidade
    • Bugs não críticos
    • Melhorias
  2. Nível 2 - DevOps/Infraestrutura

    • Problemas de infraestrutura
    • Performance degradada
    • Problemas de deploy
  3. Nível 3 - Emergência

    • Sistema indisponível
    • Perda de dados
    • Segurança comprometida

Contatos


🔧 Manutenção

Manutenção Programada

  1. Notificar Usuários (24h antes)
  2. Backup Completo
  3. Executar Manutenção
  4. Verificar Sistema
  5. Notificar Conclusão

Limpeza de Logs

# Logs são rotacionados automaticamente (30 dias)
# Limpeza manual se necessário:
find logs/ -name "*.log" -mtime +30 -delete

Limpeza de Cache

# Redis
redis-cli FLUSHDB

# IMemoryCache (reiniciar aplicação)

💾 Backup e Restore

Backup do Banco de Dados

# PostgreSQL
pg_dump -h localhost -U Arah -d Arah > backup_$(date +%Y%m%d_%H%M%S).sql

# Backup automático (cron)
0 2 * * * pg_dump -h localhost -U Arah -d Arah > /backups/araponga_$(date +\%Y\%m\%d).sql

Restore do Banco de Dados

# PostgreSQL
psql -h localhost -U Arah -d Arah < backup_20250115_020000.sql

Backup de Configuração

# Backup de appsettings.json e variáveis de ambiente
cp appsettings.Production.json appsettings.Production.json.backup
env | grep -E "JWT|CORS|ConnectionStrings" > env_backup.txt

🔍 Verificações Pós-Deploy

Checklist

  • Health checks passando (/health/ready)
  • Métricas sendo coletadas (/metrics)
  • Logs sendo gerados corretamente
  • Cache funcionando
  • Database conectado
  • Redis conectado (se configurado)
  • Sem erros nos logs recentes

A aplicação possui uma interface web integrada para monitoramento e auxílio à produção.

Acesso: https://api.Arah.com/admin/monitoring (requer autenticação e autorização)

Funcionalidades:

  • ✅ Dashboard principal com status geral
  • ✅ Visualizador de logs em tempo real
  • ✅ Métricas e dashboards interativos
  • ✅ Health checks visuais
  • ✅ Troubleshooting assistido

Ver documentação completa: LOGS_MONITORAMENTO_ARQUITETURA.md



Última Atualização: 2026-01-28
Status: 📋 Runbook Completo - Atualizado com Interface Web