Pular para o conteúdo principal

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étricaThreshold NormalAção se Exceder
CPU Backend< 70%Escalar horizontalmente
Memória Backend< 80%Verificar memory leaks
Conexões DB< 100Verificar pool de conexões
Fila Celery< 1000 tarefasAdicionar workers
Latência API< 500msOtimizar 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.