Command-Line Performance Monitoring Tools
- top/htop:
top
is a built-in command-line tool that displays real-time system metrics like CPU usage, memory consumption, and running processes. htop
(install via sudo apt install htop
) enhances top
with a color-coded interface, mouse support, and easier process management (e.g., sorting by CPU/memory). Both are essential for quick performance checks.
- vmstat/iostat/sar: Part of the
sysstat
package (install via sudo apt install sysstat
), these tools provide in-depth system metrics:
vmstat
monitors virtual memory, processes, and CPU activity (e.g., sudo vmstat 1
for 1-second updates).
iostat
analyzes disk I/O performance (e.g., sudo iostat -x 1
for detailed per-device stats).
sar
(System Activity Reporter) collects and reports historical performance data (e.g., sar -u 1 3
for 3 CPU usage samples at 1-second intervals).
- iftop/nload/nethogs: For network monitoring:
iftop
(install via sudo apt install iftop
) shows real-time bandwidth usage by connected hosts.
nload
provides a graphical view of incoming/outgoing traffic (install via sudo apt install nload
).
nethogs
(install via sudo apt install nethogs
) tracks bandwidth usage per process (e.g., sudo nethogs eth0
).
- nmon: A powerful interactive tool for monitoring CPU, memory, disk I/O, and network (install via
sudo apt install nmon
). Launch with nmon
, then press keys like c
(CPU), m
(memory), or d
(disk) to toggle views.
Graphical Interface & Web-Based Monitoring Tools
- 寶塔面板 (BT Panel): A user-friendly web panel for Debian servers, offering one-click LAMP stack installation, real-time performance monitoring (CPU/memory/disk/network), task scheduling, and log management. Accessible via a browser, it’s ideal for users who prefer a graphical interface.
- Uptime Kuma: A self-hosted, lightweight monitoring tool with a clean web UI. It supports monitoring server uptime, services (Apache/MySQL/PHP), and sends notifications via email, Telegram, or Discord. Install via Docker (e.g.,
docker run -d -p 3001:3001 louislam/uptime-kuma
) for easy setup.
- 1Panel: An open-source Go-based panel designed for simplicity and efficiency. It includes features like web terminals, file management, automatic backups, and performance dashboards. Download from its GitHub repo and follow the installation guide for a hassle-free setup.
Comprehensive Monitoring Suites
- Prometheus + Grafana: A robust open-source monitoring stack:
- Prometheus collects metrics from servers, applications, and databases (via exporters like
node_exporter
for system metrics or mysqld_exporter
for MySQL).
- Grafana visualizes these metrics in customizable dashboards (e.g., CPU usage trends, MySQL query performance).
- Together, they enable proactive performance monitoring and alerting (e.g., notify when CPU usage exceeds 80% for 5 minutes).
- Nagios/Zabbix:
- Nagios is a widely-used open-source tool for monitoring servers, networks, and applications. It offers alerting, plugin support, and a web interface for status checks (install via
sudo apt install nagios4
).
- Zabbix is a more advanced solution with auto-discovery, distributed monitoring, and robust alerting. It supports monitoring of LAMP components (Apache, MySQL, PHP) out of the box and scales well for large infrastructures.
- Akile Monitor: A real-time monitoring tool designed for flexibility. It tracks CPU, memory, network traffic, and disk usage, with support for custom API endpoints, SSL, and multiple alert methods (mail, SMS, WeChat). A one-click install script simplifies deployment for small to medium teams.
- Observium: A free SNMP-based monitoring system that auto-discovers devices (servers, routers, switches) and monitors their performance. It supports Linux, Windows, and network hardware, with a web interface for viewing graphs and logs. Recommended for environments with mixed infrastructure.
- Nezha (哪吒): A lightweight, open-source tool for server monitoring and ops. It features real-time metrics (CPU/memory/disk/network), a simple web UI, and Docker/Kubernetes support. Installation is straightforward via scripts or Docker, making it suitable for small teams or personal projects.