Procedimentos de Manutenção
Este guia documenta os procedimentos de manutenção preventiva e corretiva do sistema Acesso ao Emprego.
Manutenção Preventiva
Rotinas Diárias
Verificação de Saúde dos Serviços
docker-compose -f docker-compose.dev.yml ps
docker-compose -f docker-compose.dev.yml exec backend python manage.py check
curl http://localhost:8080/api/v1/health/
Verificação de Logs
docker-compose -f docker-compose.dev.yml logs --tail=100 backend | grep -E "ERROR|CRITICAL"
docker-compose -f docker-compose.dev.yml logs --tail=100 worker | grep -E "ERROR|CRITICAL"
Monitoramento de Filas Celery
docker-compose -f docker-compose.dev.yml exec backend celery -A app inspect active
docker-compose -f docker-compose.dev.yml exec backend celery -A app inspect scheduled
Rotinas Semanais
Backup do Banco de Dados
BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).sql"
docker-compose -f docker-compose.dev.yml exec postgres pg_dump -U postgres portal_talentos > $BACKUP_FILE
gzip $BACKUP_FILE
Limpeza de Arquivos Temporários
docker-compose -f docker-compose.dev.yml exec backend python manage.py clearsessions
docker-compose -f docker-compose.dev.yml exec backend find /app/media/temp -type f -mtime +7 -delete 2>/dev/null || echo "Pasta temp não encontrada"
Verificação de Espaço em Disco
docker system df
df -h
Rotinas Mensais
Atualização de Dependências
docker-compose -f docker-compose.dev.yml exec backend pip list --outdated
cd frontend && npm outdated
Análise de Performance do Banco
docker-compose -f docker-compose.dev.yml exec postgres psql -U postgres -d portal_talentos -c "
SELECT schemaname, tablename, pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS size
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC
LIMIT 10;
"
docker-compose -f docker-compose.dev.yml exec postgres psql -U postgres -d portal_talentos -c "VACUUM ANALYZE;"
Revisão de Índices
docker-compose -f docker-compose.dev.yml exec postgres psql -U postgres -d portal_talentos -c "
SELECT
schemaname || '.' || relname AS table,
indexrelname AS index,
pg_size_pretty(pg_relation_size(indexrelid)) AS index_size,
idx_scan AS times_used
FROM pg_stat_user_indexes
ORDER BY idx_scan ASC
LIMIT 20;
"
Manutenção Corretiva
Reinicialização de Serviços
Reiniciar Serviço Específico
docker-compose -f docker-compose.dev.yml restart backend
docker-compose -f docker-compose.dev.yml restart worker
docker-compose -f docker-compose.dev.yml restart postgres
docker-compose -f docker-compose.dev.yml restart redis
Reiniciar Todos os Serviços
docker-compose -f docker-compose.dev.yml down
docker-compose -f docker-compose.dev.yml up -d
Recuperação de Backup
Restaurar Banco de Dados
docker-compose -f docker-compose.dev.yml stop backend worker
gunzip backup_YYYYMMDD_HHMMSS.sql.gz
docker-compose -f docker-compose.dev.yml exec -T postgres psql -U postgres portal_talentos < backup_YYYYMMDD_HHMMSS.sql
docker-compose -f docker-compose.dev.yml start backend worker
Limpeza de Cache
Limpar Cache Redis
docker-compose -f docker-compose.dev.yml exec redis redis-cli FLUSHALL
Limpar Cache Django
docker-compose -f docker-compose.dev.yml exec backend python manage.py clear_cache
Reprocessamento de Migrations
Verificar Status das Migrations
docker-compose -f docker-compose.dev.yml exec backend python manage.py showmigrations
Aplicar Migrations Pendentes
docker-compose -f docker-compose.dev.yml exec backend python manage.py migrate
Monitoramento
Métricas Importantes
| Métrica | Threshold Normal | Ação se Exceder |
|---|---|---|
| CPU Backend | < 70% | Escalar horizontalmente |
| Memória Backend | < 80% | Verificar memory leaks |
| Conexões DB | < 100 | Verificar pool de conexões |
| Fila Celery | < 1000 tarefas | Adicionar workers |
| Latência API | < 500ms | Otimizar queries |
Comandos de Monitoramento
docker stats
docker-compose -f docker-compose.dev.yml exec postgres psql -U postgres -d portal_talentos -c "
SELECT count(*) as active_connections FROM pg_stat_activity WHERE state = 'active';
"
docker-compose -f docker-compose.dev.yml exec redis redis-cli INFO clients
Checklist de Manutenção
Diário
- Verificar logs de erro
- Monitorar filas Celery
- Verificar saúde dos endpoints
Semanal
- Realizar backup do banco
- Limpar arquivos temporários
- Verificar espaço em disco
- Revisar alertas de monitoramento
Mensal
- Atualizar dependências de segurança
- Analisar performance do banco
- Revisar índices não utilizados
- Executar VACUUM ANALYZE
Trimestral
- Atualização de versões maiores
- Revisão de arquitetura
- Teste de recuperação de desastres
- Auditoria de segurança
Automação
Considere automatizar estas rotinas usando Celery Beat ou cron jobs para garantir execução consistente.
Backups
Sempre verifique a integridade dos backups antes de confiar neles para recuperação. Teste regularmente o processo de restauração.