Some of the best and useful server monitoring tools for the system administrators.
Best Server Monitoring Tools For Linux System Administrator
- Nagios Core: Nagios Core, is an open-source system tool to monitor servers, switches, services, and applications. You can monitor basic services such as HTTP, FTP, SSH, SMTP, etc., and attributes such as CPU load, logged-in users, memory, disk usage, running processes, etc.
- Cacti: It is an open-source web-based network monitoring tool and system monitoring graphing solution in almost real-time. Cacti uses RRDtool.
- GoAccess: GoAccess is an open-source real-time web log analyzer and interactive viewer that runs through your browser or in a terminal in *nix systems.
- Zabbix: Zabbix is an enterprise-class open-source monitoring software tool. Zabbix can collect data from Network devices, Cloud services, containers, virtual machines, Databases, IoT sensors, and more.
- Shinken: Shinkein is a python based Nagios compatible monitoring tool.
- SmokePing: SmokePing is a deluxe latency measurement tool that uses RRDtool to measure, store and display latency, latency distribution, and packet loss.
- Justniffer is a network protocol analyzer that captures network traffic and produces logs.
- CPUlimit: Developed by Angelo Marletta, It is a small tool that monitors and then limits the CPU usage of a process. . It is useful to control batch jobs when you don’t want them to eat too many CPU cycles. cpulimit can be used to prevent a process from running for more than a specified time ratio.
Command-based tools for system administrators:
1. ps: Using ps command will help you to get a snapshot of the current processes. ps similar to the top command it provides you the more information.
top: top is a processing activity monitoring command for Linux. It gives you a real-time view of a running system.
Run the following command in Linux to execute the top command:
vmstat: The vmstat command lets you know about processes, memory, traps, paging, block IO, and CPU activity.
pmap: The pmap command in Linux displays the memory usage map of a process or multiple processes. Monitors the process memory usage on Linux. We need process id which we can get from ps or top command:
sudo pmap PID
netstat: netstat is a Linux network and statistics monitoring tool. It is a built-in tool that is used to list out the TCP network connections, routing tables and a number of network interfaces in the system.
iptraf: iptraf command can be used to gather the real-time network statistics on the Linux system. You can easily figure out the TCP connection packet and byte count, TCP/UDP traffic breakdowns, interface statistics and activity indicators, and station packet and byte count with this command.
iostat: This command is used for monitoring system input and system output. It helps to monitor Linux’s average CPU load and disk activity.
sar: SAR or System Activity Report is a Unix System V-derived system monitor command which is used to check CPU activity, memory/paging, network, interrupts, device load and swap space utilization.
mpstat: It is used to Monitor multiprocessor usage on Linux.
tcpdump: tcpdump is a common packet analyzer. tcpdump allows the user to display TCP/IP and other packets that are being transmitted or received over a network.
iotop: iotop is a Linux I/O monitoring tool. iotop tool is based on Python.
htop: htop is similar to the top command. It is used to view the interactive process. It is a third-party application.
atop: atop is an interactive monitor tool to view the load on your Linux system, i.e. CPU, memory, disk, and network.
iftop: iftop is a real-time network monitoring tool. It can be used to monitor network bandwidth.
nmon: nmon is short for Nigel’s performance Monitor for Linux on POWER. It displays and records local system information.
glances: glances is an open-source cross-platform monitoring tool for Linux based operating systems. It is written in python. glances can be used to monitor CPU, Network Interfaces, Load Average, Memory, Disk I/O, Processes and many more.
Nload : Nload is a command-line tool that is mainly used to monitors the network throughput. The output of this tool can be seen in using two graphs, one for incoming and one for the outgoing network.
yum install nload
sudo apt-get install nload
Collectd: collectd is a daemon which collects system and application performance metrics periodically. This tool gathers metrics from various sources which can be used to monitor systems and find the possible bottlenecks.