System Guard is a Flask app designed to monitor server stats such as CPU, Memory, Disk, and Network. It also provides real-time monitoring capabilities which can be useful for system administrators, developers, and DevOps engineers to keep track of their server's performance and troubleshoot issues. The app uses the psutil
library to retrieve system stats and the speedtest-cli
library to perform a network speed test.
wget https://raw.githubusercontent.com/codeperfectplus/SystemGuard/main/setup.sh
chmod +x setup.sh && sudo mv setup.sh /usr/local/bin/systemguard-installer
sudo systemguard-installer --install
sudo systemguard-installer --uninstall
sudo systemguard-installer --restore
systemguard-installer --help
It will install the SystemGuard app and its dependencies in the crontab and it will be started automatically every time the server is restarted. The app will be available at http://localhost:5050
.
- Anaconda3/Miniconda3
# install miniconda3 if not installed already
wget https://raw.githubusercontent.com/codeperfectplus/HackScripts/main/setup/install_miniconda.sh
chmod +x install_miniconda.sh && ./install_miniconda.sh
- Monitor server stats like CPU, Memory, Disk, and Network.
- Check the network speed of the server using a speed test.
- Rate limit the speed test to prevent abuse.
- Kill the process that is consuming the most CPU.
- Real-time monitoring of server stats.
- Responsive design that works on mobile, tablet, and desktop.
- Update itself to the latest version.
- Easy download and installation using a bash script.
A Docker image has not been created for this project because it requires access to the host machine in order to retrieve server stats. Therefore, it is not possible to obtain server stats from within a Docker container.
Project | License | Repository |
---|---|---|
speedtest-cli |
Apache License 2.0 | GitHub repository |
psutil |
BSD 3-Clause License | GitHub repository |
flask |
BSD 3-Clause License | GitHub repository |
chart.js |
MIT License | GitHub repository |