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*