This project provides a Remote System Monitoring Tool using Flask and Streamlit. The tool allows users to monitor system statistics (CPU, memory, disk usage, network stats) from remote machines within the same network by retrieving real-time data via a REST API.
- Remote System Monitoring: Fetch system info from remote machines.
- Auto-Refresh: Select refresh interval for real-time updates.
- Multi-PC Support: Save and select multiple IPs to monitor different machines.
- Data Export: Download system statistics as JSON or CSV files.
- Persistent IP Storage: Saved IPs are stored in a file (
saved_ips.json) for future use.
- Python 3.x installed
pippackage manager
Run the following command to install required dependencies:
pip install -r requirements.txtRun the following command on the machine you want to monitor:
python server.pyThe server will start on port 5001, listening on all interfaces (0.0.0.0).
Execute the following command to start the monitoring dashboard:
streamlit run app.pyThen, in your browser, navigate to the provided localhost URL.
- Add the IP of the machine where the Flask server is running.
- Select the IP from the dropdown to fetch and display system information.
- Adjust auto-refresh settings for real-time monitoring.
All dependencies are listed in requirements.txt.
- Ensure that both machines are connected to the same network.
- The Flask server must be running on the remote machine before monitoring.
- If running on a different network, port forwarding or a VPN might be required.
This project is open-source and available under the MIT License.