Guia Scripts

📚 Guia de Uso dos Scripts - C-Suite

Data: 2025-12-06


📋 Índice

  1. Scripts de Análise
  2. Scripts de Automação
  3. Scripts de Testes
  4. Scripts de Deploy

🔍 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

  1. Sempre teste em staging primeiro - Especialmente para scripts que modificam dados
  2. Faça backup antes de executar - Scripts de análise são seguros, mas scripts de migração não
  3. Verifique permissões - Alguns scripts precisam de permissões específicas
  4. 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

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir