ids.alfacom.it/extracted_idf/COMANDI_TEST.md
marco370 0bfe3258b5 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 1c71ce6e-1a3e-4f53-bb5d-77cdd22b8ea3
2025-11-11 09:15:10 +00:00

184 lines
4.7 KiB
Markdown

# Comandi di Test - Versioni Semplificate
## File Creati
### Sistema di Addestramento
- **analisys_01.py** - Versione semplificata per addestramento modelli
- Query database semplificate
- Solo 50 feature invece di 125
- Parametri ridotti per velocità massima
- Timeout di connessione ridotti
### Sistema di Rilevamento
- **detect_multi_02.py** - Versione semplificata per rilevamento DDoS
- Compatibile con modelli di analisys_01.py
- Stessa logica di feature engineering
- Gestione anomalie semplificata
## Comandi di Test
### 1. Test Connessione Database
```bash
# Test addestramento
python3 analisys_01.py --test
# Test rilevamento (dopo aver addestrato i modelli)
python3 detect_multi_02.py --debug
```
### 2. Addestramento Modelli
```bash
# Addestramento base (50k record max)
python3 analisys_01.py --max-records 50000
# Addestramento con meno record per test veloce
python3 analisys_01.py --max-records 10000
# Addestramento forzato (ignora timestamp)
python3 analisys_01.py --force-training --max-records 20000
# Addestramento con debug
python3 analisys_01.py --debug --max-records 10000
```
### 3. Rilevamento DDoS
```bash
# Rilevamento singolo
python3 detect_multi_02.py --batch-size 5000
# Rilevamento con sensibilità alta (più anomalie)
python3 detect_multi_02.py --sensibility 3 --batch-size 5000
# Rilevamento con sensibilità bassa (meno anomalie)
python3 detect_multi_02.py --sensibility 7 --batch-size 5000
# Rilevamento in ciclo continuo
python3 detect_multi_02.py --ciclo --pausa 30 --batch-size 5000
# Rilevamento con debug
python3 detect_multi_02.py --debug --batch-size 1000
```
## Sequenza di Test Completa
### Passo 1: Test Connessione
```bash
python3 analisys_01.py --test
```
**Risultato atteso:** "Test SUPERATO"
### Passo 2: Addestramento Veloce
```bash
python3 analisys_01.py --max-records 10000
```
**Risultato atteso:**
- Estrazione dati in <30 secondi
- Addestramento completato in <60 secondi
- Modelli salvati in cartella `models/`
### Passo 3: Verifica Modelli
```bash
ls -la models/
```
**File attesi:**
- `isolation_forest.joblib`
- `lof.joblib`
- `svm.joblib`
- `ensemble_weights.joblib`
- `preprocessor.joblib`
### Passo 4: Test Rilevamento
```bash
python3 detect_multi_02.py --batch-size 1000 --debug
```
**Risultato atteso:**
- Caricamento modelli OK
- Estrazione dati veloce
- Rilevamento anomalie funzionante
## Parametri Ottimizzati
### analisys_01.py
- `--max-records`: 10000-50000 (default: 50000)
- `--force-training`: Per forzare riaddestramento
- `--test`: Solo test connessione
- `--debug`: Logging dettagliato
### detect_multi_02.py
- `--batch-size`: 1000-10000 (default: 10000)
- `--sensibility`: 1-10 (default: 5)
- 1 = massima sensibilità (più anomalie)
- 10 = minima sensibilità (meno anomalie)
- `--ciclo`: Esecuzione continua
- `--pausa`: Secondi tra cicli (default: 60)
- `--debug`: Logging dettagliato
## Risoluzione Problemi
### Errore "Database non raggiungibile"
```bash
# Verifica credenziali database
export DB_USER=root
export DB_PASSWORD=Hdgtejskjjc0-
export DB_HOST=localhost
export DB_DATABASE=LOG_MIKROTIK
```
### Errore "Modello non trovato"
```bash
# Prima esegui addestramento
python3 analisys_01.py --force-training --max-records 10000
```
### Errore "Nessun dato estratto"
```bash
# Verifica tabella Esterna
python3 analisys_01.py --test
```
### Performance lente
```bash
# Riduci batch size
python3 analisys_01.py --max-records 5000
python3 detect_multi_02.py --batch-size 1000
```
## Monitoraggio
### File di Log
- `analisys_debug.log` - Log addestramento
- `detect_debug.log` - Log rilevamento
### File di Stato
- `models/last_training.txt` - Timestamp ultimo addestramento
- `last_analyzed_id.txt` - Ultimo ID analizzato per rilevamento
### Statistiche in Tempo Reale
Durante l'esecuzione vengono mostrate:
- Tempo trascorso
- Record processati
- Anomalie trovate
- IP analizzati
## Note Tecniche
### Differenze dalle Versioni Originali
1. **Query semplificate**: Niente filtri temporali complessi
2. **Feature ridotte**: 50 invece di 125 per velocità
3. **Parametri modelli ridotti**: Meno estimatori, campioni limitati
4. **Timeout ridotti**: 15-30 secondi invece di 5 minuti
5. **Gestione errori migliorata**: Fallback e recovery automatici
### Compatibilità
- **analisys_01.py** genera modelli compatibili con **detect_multi_02.py**
- Stessa logica di feature engineering per consistenza
- Formato file modelli standard joblib
### Performance Attese
- **Addestramento**: 1-3 minuti per 10k record
- **Rilevamento**: 5-15 secondi per 1k record
- **Memoria**: <1GB RAM utilizzata
- **CPU**: Utilizzo moderato (2-4 core)