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
4.7 KiB
4.7 KiB
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
# Test addestramento
python3 analisys_01.py --test
# Test rilevamento (dopo aver addestrato i modelli)
python3 detect_multi_02.py --debug
2. Addestramento Modelli
# 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
# 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
python3 analisys_01.py --test
Risultato atteso: "Test SUPERATO"
Passo 2: Addestramento Veloce
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
ls -la models/
File attesi:
isolation_forest.jobliblof.joblibsvm.joblibensemble_weights.joblibpreprocessor.joblib
Passo 4: Test Rilevamento
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"
# Verifica credenziali database
export DB_USER=root
export DB_PASSWORD=Hdgtejskjjc0-
export DB_HOST=localhost
export DB_DATABASE=LOG_MIKROTIK
Errore "Modello non trovato"
# Prima esegui addestramento
python3 analisys_01.py --force-training --max-records 10000
Errore "Nessun dato estratto"
# Verifica tabella Esterna
python3 analisys_01.py --test
Performance lente
# 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 addestramentodetect_debug.log- Log rilevamento
File di Stato
models/last_training.txt- Timestamp ultimo addestramentolast_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
- Query semplificate: Niente filtri temporali complessi
- Feature ridotte: 50 invece di 125 per velocità
- Parametri modelli ridotti: Meno estimatori, campioni limitati
- Timeout ridotti: 15-30 secondi invece di 5 minuti
- 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)