Spaces:
Sleeping
Sleeping
File size: 6,321 Bytes
b9c68d4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 |
# Scripts de Análise Avançada de Logs
Este diretório contém scripts especializados para análise e monitoramento de logs da aplicação, desenvolvidos especificamente para auxiliar desenvolvedores na identificação e resolução de problemas.
## 📁 Estrutura dos Scripts
### 1. `advanced_log_analyzer.py`
**Análise Retrospectiva Detalhada**
Script principal para análise completa dos logs armazenados no banco de dados. Fornece relatórios detalhados sobre:
- Distribuição de logs por nível e módulo
- Detecção de erros e warnings
- Problemas de importação de módulos
- Análise de performance
- Timeline de atividade
- Eventos do Gradio
### 2. `realtime_monitor.py`
**Monitoramento em Tempo Real**
Monitor que acompanha os logs em tempo real e alerta sobre problemas críticos:
- Alertas instantâneos para erros críticos
- Detecção de problemas de performance
- Monitoramento de erros de importação
- Interface colorida no terminal
- Buffer de últimos problemas detectados
## 🚀 Como Usar
### Análise Retrospectiva
```bash
# Análise básica das últimas 24 horas
python scripts/log_analysis/advanced_log_analyzer.py
# Análise das últimas 6 horas
python scripts/log_analysis/advanced_log_analyzer.py --hours 6
# Salvar relatório em arquivo
python scripts/log_analysis/advanced_log_analyzer.py --output relatorio_logs.txt
# Exportar análise em JSON
python scripts/log_analysis/advanced_log_analyzer.py --json analise_logs.json
# Especificar caminho do banco de dados
python scripts/log_analysis/advanced_log_analyzer.py --db-path logs/application.db
# Modo silencioso (apenas erros)
python scripts/log_analysis/advanced_log_analyzer.py --quiet
```
### Monitoramento em Tempo Real
```bash
# Monitor básico (verifica a cada 5 segundos)
python scripts/log_analysis/realtime_monitor.py
# Monitor com intervalo personalizado
python scripts/log_analysis/realtime_monitor.py --interval 10
# Modo verboso (mostra todos os logs)
python scripts/log_analysis/realtime_monitor.py --verbose
# Ajustar limite de alertas
python scripts/log_analysis/realtime_monitor.py --threshold 10
# Especificar banco de dados
python scripts/log_analysis/realtime_monitor.py --db-path logs/application.db
```
## 📊 Tipos de Análise
### Problemas Detectados
1. **Erros de Importação**
- `ImportError`, `ModuleNotFoundError`
- Variáveis não definidas (`not defined`)
- Problemas de estrutura de pacotes
2. **Problemas de Performance**
- Operações que demoram mais de 1 segundo
- Análise de tempo de resposta
- Identificação de gargalos
3. **Erros Críticos**
- Exceções não tratadas
- Falhas de servidor
- Problemas de memória
4. **Eventos do Sistema**
- Inicialização do Gradio
- Mudanças de configuração
- Atividade de módulos
### Relatórios Gerados
- **Distribuição por Nível**: Contagem de logs por severidade
- **Módulos Mais Ativos**: Ranking de módulos por atividade
- **Timeline**: Atividade por hora com gráfico visual
- **Problemas Críticos**: Lista detalhada de erros e warnings
- **Análise de Performance**: Operações lentas identificadas
## 🎨 Recursos Visuais
### Monitor em Tempo Real
- **Cores por Severidade**:
- 🚨 **Vermelho**: Problemas críticos (memória, servidor)
- ⚠️ **Amarelo**: Problemas médios (importação, Gradio)
- ℹ️ **Azul**: Informações e problemas menores
- **Estatísticas em Tempo Real**:
- Contador de logs verificados
- Número de alertas gerados
- Timestamp atual
### Relatórios de Análise
- **Gráficos ASCII**: Timeline visual de atividade
- **Emojis Informativos**: Categorização visual dos problemas
- **Formatação Estruturada**: Seções bem organizadas
## 🔧 Configuração Avançada
### Variáveis de Ambiente
```bash
# Definir caminho padrão do banco de logs
export LOG_DB_PATH="logs/application.db"
# Configurar intervalo padrão do monitor
export MONITOR_INTERVAL=5
```
### Personalização de Padrões
Os scripts podem ser facilmente modificados para detectar padrões específicos:
```python
# Em advanced_log_analyzer.py
self.patterns = {
'custom_error': re.compile(r'seu_padrao_aqui', re.IGNORECASE),
# ... outros padrões
}
```
## 📈 Casos de Uso Comuns
### 1. Debugging de Problemas de Importação
```bash
# Foca apenas em erros de importação
python scripts/log_analysis/advanced_log_analyzer.py --hours 1 | grep -A5 "ERROS DE IMPORTAÇÃO"
```
### 2. Monitoramento Durante Deploy
```bash
# Monitor em tempo real durante atualizações
python scripts/log_analysis/realtime_monitor.py --verbose --interval 2
```
### 3. Análise de Performance Semanal
```bash
# Relatório completo da semana
python scripts/log_analysis/advanced_log_analyzer.py --hours 168 --output relatorio_semanal.txt
```
### 4. Exportação para Análise Externa
```bash
# Dados em JSON para ferramentas externas
python scripts/log_analysis/advanced_log_analyzer.py --json logs_data.json --quiet
```
## 🛠️ Troubleshooting
### Problemas Comuns
1. **"Banco de dados não encontrado"**
- Verifique se a aplicação está rodando
- Confirme o caminho com `--db-path`
- Certifique-se de que logs estão sendo gerados
2. **"Nenhum log encontrado"**
- Reduza o período com `--hours`
- Verifique se há atividade na aplicação
- Confirme configuração de logging
3. **Monitor não mostra alertas**
- Use `--verbose` para ver todos os logs
- Ajuste `--threshold` se necessário
- Verifique padrões de detecção
### Logs de Debug
Para debug dos próprios scripts:
```bash
# Ativar debug do Python
PYTHONPATH=. python -v scripts/log_analysis/advanced_log_analyzer.py
```
## 📝 Contribuição
Para adicionar novos padrões de detecção ou melhorar os scripts:
1. Modifique os padrões regex nas classes
2. Adicione novos tipos de análise
3. Implemente novos formatos de saída
4. Teste com dados reais da aplicação
## 🔗 Integração
Estes scripts podem ser integrados com:
- **CI/CD**: Análise automática após deploys
- **Monitoramento**: Alertas via webhook
- **Dashboards**: Dados JSON para visualização
- **Cron Jobs**: Relatórios periódicos automáticos
---
**Desenvolvido para o Sistema de Análise de Mercado**
*Versão 1.0.0 - Scripts de Análise Avançada de Logs* |