Skip to content

Murtesa-developer/ServerMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Monitor for Linux

A comprehensive real-time system monitoring tool for Linux terminals. Displays CPU, memory, disk, network, and process information in a beautiful, colorful terminal interface.

System Monitor Screenshot

ServerMonitor is a simple C++ application designed to monitor system resources and report server status. It leverages libcurl for network operations and pthreads for concurrency.

Requirements

  • Linux operating system
  • Terminal with ANSI color support
  • g++ (supports C++11)
  • make
  • libcurl development headers

Recommended packages

Before building you may install the following dependencies:

sudo apt update && sudo apt install -y build-essential g++ make libx11-dev \
	libxrandr-dev libcurl4-openssl-dev pkg-config autoconf automake \
	libtool net-tools procps

Building

make build

This will compile the system_monitor.cpp source and place the binary in the build directory.

Running

make run

This will execute the compiled ServerMonitor binary.

Cleaning

make clean

Removes the binary from the project root.

Features

  • Real-time Monitoring: Updates every 0.5 seconds
  • CPU Usage: Per-core usage with color-coded progress bars
  • Memory Information: RAM and swap usage with detailed statistics
  • Disk Monitoring:
    • All mounted partitions with usage
    • Read/Write speeds in real-time
    • Filesystem type information
  • Network Interfaces:
    • All active interfaces (eth, wlan, etc.)
    • IP and MAC addresses
    • Download/Upload speeds
  • System Information:
    • Hostname and kernel version
    • System uptime
    • Load average (1, 5, 15 minutes)
    • Public IP address
    • Total and running processes
  • Process Monitoring: Top 10 processes by CPU usage
  • Clean Interface: Colorful, well-organized terminal UI with box drawing

Notes

Ensure that necessary dependencies (libcurl, etc.) are installed on your system before building.

About

Real time Linux system monitor for terminal per core CPU, memory, disk with read/write speeds, network stats, public IP and top processes

Topics

Resources

License

Stars

Watchers

Forks

Contributors