📚 Guia de Uso dos Scripts - C-Suite
Data: 2025-12-06
📋 Índice
🔍 Scripts de Análise
1. analyze_service_duplication.py
Descrição: Analisa duplicação entre serviços 4c e fourc
Uso:
python3 scripts/analyze_service_duplication.py
Output:
- Lista de serviços duplicados
- Estatísticas de duplicação
- Recomendações de consolidação
Exemplo:
$ python3 scripts/analyze_service_duplication.py
============================================================
ANÁLISE DE DUPLICAÇÃO: 4c vs fourc
============================================================
📊 Estatísticas:
- Serviços 4c: 14
- Serviços fourc: 14
- Serviços comuns: 14
💡 Recomendação:
- Consolidar em 'fourc' (padrão)
- Remover stack '4c' após migração
2. analyze_database_indexes.py
Descrição: Analisa índices do banco de dados e sugere melhorias
Uso Básico:
python3 scripts/analyze_database_indexes.py \
--database csuite \
--host localhost \
--user root \
--password senha
Uso Completo:
python3 scripts/analyze_database_indexes.py \
--database csuite \
--host vallery.catmgckfixum.sa-east-1.rds.amazonaws.com \
--port 3306 \
--user core \
--password senha \
--output indexes_suggestions.sql \
--report analysis_report.txt
Parâmetros:
- --database: Nome do schema a analisar
- --host: Host do banco de dados
- --port: Porta (padrão: 3306)
- --user: Usuário
- --password: Senha
- --output: Arquivo SQL de saída (opcional)
- --report: Arquivo de relatório (opcional)
Output:
- Arquivo SQL com comandos CREATE INDEX
- Relatório detalhado de análise
- Estatísticas de tabelas e índices
3. run_index_analysis.sh
Descrição: Script wrapper para executar análise de índices em múltiplos schemas
Uso:
# Usar configurações padrão
./scripts/run_index_analysis.sh
# Ou definir variáveis de ambiente
DB_HOST=localhost DB_USER=root DB_PASSWORD=senha ./scripts/run_index_analysis.sh
Variáveis de Ambiente:
- DB_HOST: Host do banco (padrão: RDS padrão)
- DB_PORT: Porta (padrão: 3306)
- DB_USER: Usuário (padrão: core)
- DB_PASSWORD: Senha
Output:
- Arquivos SQL em database_analysis/indexes_<schema>_<timestamp>.sql
- Relatórios em database_analysis/report_<schema>_<timestamp>.txt
- Logs em database_analysis/analysis_<schema>.log
Schemas Analisados:
- csuite
- core
- staging
- csuite_staging
⚙️ Scripts de Automação
4. setup_grafana_alerts.sh
Descrição: Cria arquivos de configuração de alertas para Grafana
Uso:
./scripts/setup_grafana_alerts.sh
Output:
- Arquivos JSON em grafana/alerts/:
- service_unhealthy.json
- high_latency.json
- high_error_rate.json
- high_cpu.json
- high_memory.json
Próximos Passos:
1. Importar alertas no Grafana via UI ou API
2. Configurar canais de notificação
3. Testar alertas manualmente
5. restart_all_services.sh
Descrição: Reinicia todos os serviços Docker Swarm
Uso:
# Reiniciar todos os serviços
./scripts/restart_all_services.sh
# Reiniciar serviços específicos
./scripts/restart_all_services.sh csuite-gateway csuite-auth
Funcionalidades:
- Lista todos os serviços
- Reinicia serviços em ordem
- Mostra status após reinício
6. restart_service.sh
Descrição: Reinicia um serviço específico
Uso:
./scripts/restart_service.sh csuite-gateway
Parâmetros:
- Nome do serviço (obrigatório)
7. list_services.sh
Descrição: Lista todos os serviços Docker Swarm
Uso:
./scripts/list_services.sh
Output:
- Lista formatada de todos os serviços
- Status de cada serviço
- Informações de replicas
🧪 Scripts de Testes
8. Executar Testes
Descrição: Executar suite de testes
Uso:
# Todos os testes
pytest
# Testes específicos
pytest tests/test_common_auth.py
# Com cobertura
pytest --cov=common --cov-report=html
# Verbose
pytest -v
Estrutura de Testes:
tests/
__init__.py
conftest.py # Fixtures compartilhadas
test_common_auth.py # Testes de autenticação
test_common_errors.py # Testes de erros
🚀 Scripts de Deploy
9. run.sh
Descrição: Script principal para deploy de serviços
Uso:
# Deploy de um serviço
./run.sh deploy csuite-gateway
# Build e deploy
./run.sh build csuite-gateway
./run.sh deploy csuite-gateway
📊 Scripts de Validação
10. validate_ecosystem.py
Descrição: Valida integridade do ecossistema
Uso:
python3 scripts/validate_ecosystem.py
Verificações:
- Módulos comuns presentes
- Configurações corretas
- Serviços acessíveis
🔧 Configuração
Variáveis de Ambiente
Crie um arquivo .env na raiz do projeto:
# Banco de dados
DB_HOST=vallery.catmgckfixum.sa-east-1.rds.amazonaws.com
DB_PORT=3306
DB_USER=core
DB_PASSWORD=senha
# Docker
DOCKER_REGISTRY=registry.example.com
DOCKER_NETWORK=superbot-swarm-network
📝 Exemplos de Uso
Análise Completa do Ecossistema
# 1. Analisar duplicação
python3 scripts/analyze_service_duplication.py
# 2. Analisar índices do banco
./scripts/run_index_analysis.sh
# 3. Validar ecossistema
python3 scripts/validate_ecosystem.py
Setup de Monitoramento
# 1. Criar alertas
./scripts/setup_grafana_alerts.sh
# 2. Importar no Grafana (manual)
# 3. Configurar notificações (manual)
Manutenção de Serviços
# 1. Listar serviços
./scripts/list_services.sh
# 2. Reiniciar serviço específico
./scripts/restart_service.sh csuite-gateway
# 3. Reiniciar todos
./scripts/restart_all_services.sh
⚠️ Notas Importantes
- Sempre teste em staging primeiro - Especialmente para scripts que modificam dados
- Faça backup antes de executar - Scripts de análise são seguros, mas scripts de migração não
- Verifique permissões - Alguns scripts precisam de permissões específicas
- Leia a documentação - Cada script tem documentação inline
🆘 Troubleshooting
Erro de Conexão ao Banco
# Verificar conectividade
mysql -h $DB_HOST -P $DB_PORT -u $DB_USER -p
# Verificar variáveis de ambiente
echo $DB_HOST $DB_USER
Erro de Permissões
# Tornar scripts executáveis
chmod +x scripts/*.sh
# Verificar permissões
ls -la scripts/
Erro de Dependências
# Instalar dependências Python
pip install -r requirements-common.txt
# Verificar Python
python3 --version
📚 Referências
Última atualização: 2025-12-06