Linux system monitoring is one of the most important tasks for every sysadmin: it is crucial to know everything about system including CPU load, network traffic statistics, memory consumption, logged in users, availability of disk free space or service. And it’s inevitable that something breaks or goes down from time to time so usually it’s just better to know it happened from Linux monitoring system’s alert rather than from angry user. Believe me, it is true.

In this article I’ve listed top 5 web based Linux monitoring tools which can cover almost all aspects of sysadmin’s monitoring tasks.

Nagios

This is one of the most popular web based Linux monitoring systems nowadays, actually it’s industry standard for IT infrastructure monitoring. Licensed under GPL Nagios is available for everybody free of charge and allows to monitor availability and response time of network services, usage of system resources like CPU load, RAM allocation etc., number of logged in users and many-many more. It doesn’t makes sense to list here everything that can be monitored by Nagios but its nature implies that main Nagios instance (server) collects information from either local system or Nagios clients (agents). It means you can install client software on number of Linux, BSD, Windows hosts or Cisco devices, point them to Nagios server and see states of their services or processes in one place: Nagios web based monitoring tool (see the screenshot below).

In case of any outage detected by Nagios server or any anomaly you will get an alert from Nagios. It’s important that Nagios suports wide range of alerts including e-mail, sms, chat messages and phone call notifications. Large number of official and third party plugins can extend Nagios’ functionality dramatically.

And one more thing, Nagios monitors states but it doesn’t show any graphs like network interface usage etc., that’s why it’s good habit to use Nagios with other monitoring tools listed below.

Linux system monitoring tools: Nagios screenshot

Project’s homepage: http://www.nagios.org/
Documentation and Howtos: Official Documentation, How To Monitor Remote Linux Host using Nagios 3.0, Centos Nagios Howto, Ubuntu Nagios Howto, FreeBSD Nagios Howto.

Cacti

Cacti is another web based monitoring system written in PHP and licensed under GPL. Unlike Nagios describe above Cacti was designed mainly fo the graphs — in brief, Cacti polls various services and then graphs resulting data. It uses RRDTool to build graphs so if you can some graphs in .rrd files you can easily attach them to Cacti and have everything in one place.

So you can see CPU load graphs, RAM usage, round trip time stats, bandwidth utilization and much more information collected from various hosts. As well as Nagios Cacti supports SNMP that makes it possible to monitor almost any device in your network: Linux hosts, *BSD hosts, Windows hosts, Cisco devices, Juniper equipment, voip phones, routers, switches whatever.

Meantime by default Cacti doesn’t provides alerts so you should install third party plugin (thold or others) for that or use more flexible solutions supporting alerts (like Nagios or Zabbix).

Linux system monitoring: Cacti screenshot

Project’s homepage: http://www.cacti.net/
Documentation and Howtos: Official Documentation, Centos/RedHat Cacti Howto, Debian SNMP+Cacti Howto, Ubuntu Cacti Howto.

Zabbix

Zabbix is enterprise class Linux monitoring system with impressive list of capabilities available out of the box. It is licensed under GPL and is written in PHP. In brief Zabbix can do the same tasks as Nagios and Cacti by default: Zabbix easily graphs monitored data and sends alerts to user in case of any problem. Using Zabbix you can create maps of the hosts, group hosts by various categories and so on.

I personally like Zabbix’s capability to track changes made into specified files, for example if /etc/password is changed at one of your 100 servers and you monitor it with Zabbix then you’ll get corresponding report about this authorized (or not!?) change.

Zabbix can collect data from remote hosts where Zabbix agent/client is running (just like Nagios). Zabbix shows various kinds of graphs including network statistics, CPU load and so on (just like Cacti). Probably Zabbix may seem rather complicated for beginners but I’d recommend to take some time and get familiar with this monitoring system.

Linux system monitoring: Zabbix screenshot

Project’s homepage: http://www.zabbix.com/
Documentation and Howtos: Official Documentation, Ubuntu Zabbix Howto, Debian Zabbix Howto, Monitor Radius with Zabbix.

MRTG

MRTG is yet another open source monitoring tool that collects data at local and/or remote host by means of SNMP protocol. But MRTG is much more simple than Cacti, Nagios or Zabbix so it may be a good choice for small projects.

One of the most common applications of MRTG is monitoring of network interfaces, CPU, memory usage and network interfaces statistics. One of MRTG’s advantages is that it it extremely easy to deploy. Btw, MRTG was created by author of RRDTool Obi Oetiker.

Linux system monitoring tools: Cacti screenshot

Project’s homepage: http://oss.oetiker.ch/mrtg/
Documentation and Howtos: Official Documentation, Linux MRTG Howto, Advanced MRTG for Linux, Centos MRTG Howto.

Nfsen

Nfsen is open source Netflow collector and analyzer available under open source license. It differs from monitoring tools described here — Nfsen collects only network usage data and shows the interactive graphs based on that data.

I found Nfsen as the only workable open source Netwflow analyzer available for Linux. Using Nfsen you can see the graphs showing network traffic on various hosts or networks, configure alerts (for example if bandwidth usage is lower or higher than average) and what it more important to digg into collected traffic.

Let’s imagine you see traffic spike at the graph that shows that some of your host was generating some TCP traffic 12 hours ago and you wish to know what was that. Nfsen makes it possible to investigate that spike and report what was destination and source IP addresses of that traffic, what was the protocol, port numbers and how many sesstions/flows were established. None of above mentioned monitoring systems do such an investigation. Nfsen’s graphs are interactive so you can select what data you wish to see at the graph and aggregate many data sources into one graph, it’s better to understand when building protocol breakdown graphs with Nfsen.

Linux system monitoring tools: Nfsen screenshot

Project’s homepage: http://nfsen.sourceforge.net/
Documentation and Howtos: Official Documentation, Nfsen and Nfdump Howto, Tracking incidents with Nfsen, Traffic Classification with Nfsen.

Bottom Line

Of course there are other web based monitoring tools for Linux available, some of them may even beat functionality of mentioned systems. If you feel that it makes sense to extend this list with other monitoring system just leave a comment here with brief description of suggested Linux monitoring system. Thank you in advance.

 

15 Comments

 

  1. March 23, 2012  12:41 am by Jon Reply

    Good to see Zabbix getting some love :) We use it to monitor many thousands of devices, it works great and is extremely flexible. People default to Nagios since it's the big name in this space, but for us Zabbix was the clear winner.

  2. March 26, 2012  5:43 pm by rudiKurniawan Reply

    Where is the Munin? (munin-monitoring.org)

    • August 6, 2012  11:29 pm by Kelek Serodores Reply

      Although not explicit, I think they were trying to evaluate free solutions, rather than pay for monitoring. There's tons of other paid monitoring solutions like serverdensity out there too that supports linux.

  3. Pingback : Internal Breach/ Misuse Server

  4. September 17, 2012  12:15 pm by icon designs Reply

    Certainly. I join told all above. We can communicate on this theme. Here or in PM.


    P.S. Please review icons

  5. Pingback : Server Monitor IVR for Admins | PBX Hacks

  6. December 28, 2012  7:27 am by Vishal Reply

    We can offer far more better configuration for Linux VPS in less $ in compare anyone offer today. On top of it we also now offer 30% flat discount on every purchase.
    For example:-
    200 GB HD
    3 GB RAM
    Unlimited Bandwidth (We don’t keep counter on this)
    Dual Core 2.0 GHz
    1 Static IP
    ———–
    30$ / Month
    ———–

    lot more to explore… guys.

  7. February 5, 2013  1:01 pm by http://tinyurl.com/gwenbiggs53515 Reply

    “Top 5 Linux Monitoring Tools. Web Based. - LinuxScrew:
    Linux Blog” was indeed a splendid posting,
    can’t help but wait to read through much more of your posts.

    Time to spend a lot of time on the net haha. Many thanks ,Damion

  8. Pingback : Monitor Different Systems with Collectd - VirtuallyHyper

  9. March 22, 2013  9:16 pm by flight deals india Reply

    Does your website have a contact page? I'm having trouble locating it but, I'd like to send you an e-mail. I've got some suggestions for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it develop over time.| flight deals india http://www.funtraveldeals.com/book-flights/

  10. April 5, 2013  4:41 am by Jon Reply

    Don't forget to check out Xymon. An awesome and completely open source project.

  11. May 8, 2013  4:06 pm by Vps Servers Reply

    Thank you, I have just been looking for information about this subject for ages and yours is the best I have found out so far. But, what concerning the bottom line? Are you certain concerning the source?|What i don't understood is if truth be told how you are not actually a lot more neatly-preferred than you may be now. You're so intelligent.

  12. June 5, 2013  8:46 am by prix des sac longchamp Reply

    I'm really impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you customize it yourself? Either way keep up the nice quality writing, it is rare to see a great blog like this one today.

Leave a reply

 

Your email address will not be published.