A real-time server monitoring dashboard that provides comprehensive visualization of CPU and memory usage across multiple remote servers through an elegant and intuitive interface.
Screenshot: ResourceRadar Dashboard with multiple servers being monitored
Screenshot: Detailed performance metrics with time-series graphs
- Real-time Monitoring: Track CPU and memory usage on remote servers with automatic updates
- Historical Data: View historical performance through interactive time-series charts
- Material UI Design: Modern, responsive interface with dark/light mode support
- Server Management: Add, edit, and remove servers through an intuitive interface
- SSH Authentication: Secure connection to remote servers using standard SSH credentials
- Multi-server Dashboard: Monitor unlimited servers in a single dashboard view
- Containerized Deployment: Easy setup with Docker Compose
- Time Range Selection: View metrics over customizable time periods (1 minute to 30 days)
- System Status Indicators: Visual status indications for online/offline systems
- Kafka Integration: High-throughput message processing for metric collection
ResourceRadar utilizes a modern, scalable architecture:
- React Frontend: Material UI-based web interface for visualizing server data
- Node.js Backend: Express API server that connects to remote servers via SSH
- Kafka: Message broker for reliable, high-throughput metric processing
- PostgreSQL: Stores server connection information
- InfluxDB: Time-series database for storing performance metrics
- Docker: Container orchestration for easy deployment
- Docker and Docker Compose
- SSH access to remote servers you want to monitor
- Git (for cloning the repository)
-
Clone the repository:
git clone https://github.com/yourusername/ResourceRadar.git cd ResourceRadar -
Start the application:
docker-compose up -d
-
Access the web interface:
- Open your browser and go to
http://localhost - Note: Initial startup may take a minute while services initialize
- Open your browser and go to
- Once the dashboard loads, click the "Add Machine" button
- Enter server details:
- Host Name: A recognizable name for the server
- Host IP: IP address or hostname
- SSH Username: SSH username
- SSH Password: SSH password
- SSH Port: SSH port (default: 22)
- Click "Save Machine" - the system will verify connectivity and begin monitoring
ResourceRadar includes a testing environment that creates multiple demo servers for demonstration:
- Start ResourceRadar using the steps above
- Set up the test environment:
cd testing ./run-test-environment.sh - Generate interesting metrics patterns:
./stress-test-systems.sh
- When finished, clean up the test environment:
./cleanup-test-environment.sh
cd backend
npm install
npm run devcd frontend
npm install
npm startMade with ❤️ by [Prajit Viswanadha]