Server monitoring is the main task for all system administrator. Admin always need to keep eyes on server resources usage and it is crucial to know everything about system like Memory Consumption, CPU Load, Logged in users, Disk Space, CPU usages, Network traffic statistics and running services status.These tools helps to debug server performance problems every day.
In this tutorial I am going to list top 5 web based Linux Monitoring tools which help to cover almost all aspects of admin’s monitoring tasks.
Nagios is the most popular and famous web based Linux Monitoring tool. Nagios is fee for everybody and it allows to monitor CPU Loads, RAM consumption, Network response time, CPU usages, Number of logged in users etc. We can say Nagios keeps eyes on usage of system resources.It is very difficult to list here everything that can be monitored by Nagios. Nagios server collects all information form Local System and Nagios agents (Clients). Means We can install Nagios agent on number of Linux System, Windows hosts, BSD, or Cisco Devices to send the system resource usage to Nagios server. If there are any outage detected by Nagios server it will trigger a mail.It supports wide range of alerts system including email, chat messages, sms and phone call notifications. We can use large number of official and third party plugins to extend Nagios functionality.
Note:- Nagios monitors states but it does not display any graph such as Memory Usage and Network Interface Usages etc. Have a look on Nagios screenshot below.
Cacti is also a web based monitoring tools written in PHP it is free and open source. It is basically design for graphs. Cacti polls various services and then display the data result in graph. To build graphs it uses RRDTool so if you can some graphs in .rrd files you can easily show them to Cacti. Using Cacti you can see CPU Loads graphs, Bandwidth utilization, RAM usage, Round trip time stats and much more information collected from all hosts.
Both Nagios and Cacti supports SNMP so that we can monitor almost all network devices like Linux Hosts, Windows Hosts, BSD Hosts, Cisco Devices, Juniper equipment, Routers, Voip Phones, Switches etc. Cacti does not provides alerts by default so you will need to install third party plugin like thold to use it more flexible supporting alerts same as Zabbix and Nagios.
Zabbix is enterprise level Linux monitoring tool with the impressive list of capabilities available out of the box. It is free and written in PHP. By default, Zabbix do the same tasks same as Cacti and Nagios. In case of any issue Zabbix sends the alerts. Zabbix easily graphs monitored data. With Zabbix we can create categories base maps of the Hosts and Group Hosts. Zabbix has capability to track changes made into files for example if /etc/hosts is changed at one of your 200 servers and you can monitor it with Zabbix then we will get corresponding report about this change.
Zabbix can also collect data from remote hosts where Zabbix Agent is installed and running. With Zabbix we can see various types of graphs like CPU Load, Network Statistics and so on. Beginners feel some complicated during usage but after some time they will get familiar with this.
MRTG is also another open source and free monitoring system that collects information form local or remote host by means of SNMP protocol. MRTG is very simple than Nagios, Cacti and Zabbix so we can use it in small projects.
The most common task of MRTG is monitoring of Network Interfaces, Memory usage, CPU Loads and Network interface statistics. The main advantages of MRTG’s is that it is very easy and simple to deploy.
Nfsen is free and open source Netlow collector and analyzer. Nfsen collects only display the network usage data. Using Nfsen we can see the network traffic of various hosts or networks, bandwidth usage and configure alerts. It is more important to monitor network traffic.Using Nfsen we can investigate spike in traffic and report what was destination and source IP of that particular traffic and what was the port number, how many session were established. These type of investigation none of above mention monitoring tool can do.You can select what data you want to see at the graph and aggregate many data sources into one graph.
I hope this article will help to monitor your Linux servers. Read our another article Discover and Monitor Hardware in Linux/UNIX and Top 25 Linux/UNIX Commands That Every Linux User Should Know. If you have any queries and problem please comment in comment section or you can also ask your question.