A multi-agent system built on JADE for distributed resource monitoring, anomaly detection, and autonomous system remediation across networked hosts.
Runs on each host collecting metrics every 5 seconds:
- CPU load, memory, disk I/O, network traffic
- Local severity classification
- Autonomous reactions: throttle/kill processes
- 10-second action cooldown
Central coordinator:
- Aggregates metrics every 10 seconds from 60-second window
- Calculates Pearson correlations between agents
- DFS-based clustering for correlated agents
- Intelligent audit deployment with 30-second cooldown
Deployed dynamically for detailed investigation:
- Collects process details and independent metrics
- Sends JSON reports to CentralAgent
- Stored in database with full traceability
Persistent storage:
- metrics: CPU, RAM, disk, I/O, network per agent
- actions: Local reactions with reasons
- audit_reports: Audit snapshots
- Distributed monitoring without single point of failure
- Real-time correlation analysis
- Mobile agents for deep inspection
- Persistent event logging
- Grafana real-time dashboards
- Cloudflare tunnel for external access
- Autonomous reaction to anomalies
- Rate limiting and cooldown mechanisms
chmod +x ./scripts/compile_agents.sh
./scripts/compile_agents.sh# Central
chmod +x ./scripts/run_central.sh
./scripts/run_central.sh
# Each monitor
chmod +x ./scripts/run_monitoring.sh
./scripts/run_monitoring.sh agent1 192.168.1.100chmod +x ./scripts/start_grafana_tunnel.sh
./scripts/start_grafana_tunnel.sh http://localhost:3000- Infrastructure Setup - GNS3 configuration
- Network Architecture - Topology details
- Agent Deployment - Launching agents
- Database & Grafana - Persistence & visualization
- Test Results - Validation results
- Problems & Solutions - Issues encountered
- Network Configuration - IP setup
- Router Configuration - Cisco IOSv setup
- Grafana Configuration - Dashboards
- Stress Tests - Load testing
- JADE 4.6.0+ (multi-agent framework)
- PostgreSQL 13+ (persistence)
- Grafana (visualization)
- Debian (VMs)
- GNS3 (network simulation)
- Java 11+ (implementation)
