SysMonitor Pro is a comprehensive and modular system administration tool written in Bash script. It is designed to automate the monitoring and reporting of a Linux server's health, covering key metrics such as system resources, process management, service status, and network connectivity.
This tool is built with a modular architecture, making it easy to extend and configure, following DevOps best practices for automation and Infrastructure as Code.
- System Resource Monitoring: Tracks CPU, Memory (RAM), and Disk Space usage against configurable thresholds.
- Advanced Process Management: Identifies top resource-consuming processes and detects zombie processes.
- System Service Monitoring: Checks the status of critical system services like
ssh,cron, andsystemd-networkd. - Network Connectivity Checks: Verifies external internet connectivity and monitors the status of network interfaces.
- Automated HTML Reporting: Generates a clean and readable HTML report with a summary of the system's status after each run.
- Structured Logging: All actions and alerts are logged to a file with different severity levels (INFO, CRITICAL, ERROR).
Before running the script, ensure the following tools are installed on your Ubuntu/Debian-based system:
sudo apt-get update
sudo apt-get install -y bc dos2unix- Clone the repository to your local machine (or simply place the project folder).
git clone [your-repository-url]
- Navigate to the project directory:
cd SysMonitor-Pro - Make the main script executable:
chmod +x main.sh
To run the monitoring script, simply execute main.sh from within the SysMonitor-Pro directory:
./main.shAfter execution, the script will produce:
- Console Output: Real-time logs will be displayed on the terminal.
- Log File: A detailed log file will be updated at
logs/sysmonitor.log. - HTML Report: A new system health report will be generated in the
reports/directory, namedsystem_report_YYYYMMDD_HHMMSS.html.