Hybrid Multi-Agent System for Infrastructure Monitoring and Anomaly Detection
AgenticProactiveMonitor è un sistema ibrido multi-agente per il monitoraggio proattivo dell’infrastruttura e il rilevamento di anomalie.
Il progetto combina automazione, orchestrazione in container e script di sistema per raccogliere metriche, identificare comportamenti anomali e facilitare la risposta operativa.
- Monitorare in modo continuo risorse e servizi infrastrutturali.
- Rilevare anomalie in anticipo rispetto ai guasti critici.
- Coordinare agenti con ruoli distinti (raccolta, analisi, notifica, remediation).
- Ridurre il tempo di rilevazione (MTTD) e intervento (MTTR).
Il sistema è organizzato come un insieme di agenti cooperanti:
-
Collector Agent
Raccoglie dati da host/servizi (CPU, RAM, disco, stato processi, health endpoint, log). -
Analyzer Agent
Applica regole/soglie o logiche euristiche per identificare deviazioni e anomalie. -
Decision Agent
Classifica severità, correla eventi e definisce azioni suggerite o automatiche. -
Notifier/Action Agent
Invia alert (es. webhook/email/chat) e, se previsto, avvia azioni di remediation.
In base alla composizione linguistica del repository:
- Shell (80.6%) → script di orchestrazione/monitoraggio
- Dockerfile (16.6%) → packaging ed esecuzione containerizzata
- JavaScript (2.8%) → componenti di supporto/integrazione
Adatta questa sezione alla struttura reale del progetto.
.
├─ scripts/ # script shell principali
├─ agents/ # logica agenti (collector/analyzer/...)
├─ config/ # configurazioni e soglie
├─ docker/ # file e asset container
├─ logs/ # output e log locali
└─ README.md
- Docker e Docker Compose (se usati)
- Bash (Linux/macOS o WSL su Windows)
- Variabili ambiente/configurazioni iniziali (vedi sezione Configurazione)
git clone https://github.com/davidedimarco00/AgenticProactiveMonitor.git
cd AgenticProactiveMonitorCrea un file .env (o usa il file di esempio se presente):
cp .env.example .envCompila le variabili principali (endpoint, soglie, token notifiche, ecc.).
docker compose up --build -dchmod +x scripts/*.sh
./scripts/start.sh./scripts/start.sh./scripts/stop.sh./scripts/status.sh./scripts/logs.shSe i nomi script sono diversi, sostituiscili con quelli reali del repository.
Il rilevamento anomalie può includere:
- superamento soglie statiche (CPU, memoria, latenza, error rate),
- variazioni improvvise rispetto a baseline,
- correlazione multi-segnale (metriche + log + stato servizi),
- scoring di severità per priorità intervento.
Esempi di azioni configurabili:
- notifica verso webhook/chat/email,
- restart di servizio/container,
- escalation in base alla severità,
- apertura ticket automatica (se integrata).
- Non committare segreti in repository (
.env, token, API key). - Usa variabili ambiente e secret manager dove possibile.
- Limita permessi di esecuzione degli script.
- Valuta auditing/logging delle azioni automatiche di remediation.
- Dashboard real-time
- Modello anomaly detection adattivo
- Correlazione eventi cross-host
- Plugin system per nuovi agenti
- Test end-to-end e chaos testing
Contributi benvenuti!
- Fai fork del repository
- Crea un branch feature (
git checkout -b feature/nome-feature) - Commit delle modifiche (
git commit -m "feat: aggiunge nuova feature") - Push del branch (
git push origin feature/nome-feature) - Apri una Pull Request
Specifica qui la licenza del progetto (es. MIT, Apache-2.0, GPL-3.0).
Se non hai ancora scelto una licenza, aggiungi un file LICENSE.
Davide Di Marco
GitHub: @davidedimarco00