Our list of free server monitoring tools
This post is also available in : Spanish
11 Free Server Monitoring Tools
April 7, 1969. This date marks the beginning of the Internet Engineering Task Force (IETF) Request for Comments (RFC), which in its RFC 1 defined the Interface Message Processor (IMP) and laid the foundation for the computer world as we know it. What place do free server monitoring tools occupy in all of this?
Free server monitoring tools
The IMP laid the foundation for what are now the routers and hubs, and although servers now rarely perform these tasks, they have made full inroads into many other areas of computing. Yes, we already know the basic servers (email, databases and web), and we can imagine that even some will fulfil several or even all those functions or it may be the case that we have a virtualization server where our customers pay us to keep running a virtual computer configured as a server. That is very common today with the euphemism of cloud computing.
Whether we need a web server that connects our users to a database, or a server that collects our documents to print and keeps track of the sheets we spend, monitoring a server simplifies it:
- They are always computers, physically speaking: we must monitor their temperature, state of disks, and so on.
- They are always connected to other computers, so the monitoring of the network, whether public or private, is essential: if you have a connection, if you have services running, how long it takes to receive a file of several megabytes.
- Remember the Interface Message Processors (IMP)? Yes, we need to monitor the routers and/or switches (and even modems) that keep our servers connected, to see if they become “bottlenecks” for your work and performance.
This whole introduction was necessary to be well placed and in context for our list of free server monitoring tools. We present them to you in alphabetical order, with a brief description and their key or main characteristics. As it is not a comparison, you can evaluate, with your very particular needs, which one is better or more convenient for you.
Written entirely in Perl language and not at all in Argus language with a web interface (without API) and for any Unix/Linux server, it is more oriented to network monitoring (remote monitoring), but also includes the monitoring of services and local resources through an agent. It is configured by means of simple text files, which indicates that for a high volume of devices it is not possible to establish policies. Don’t underestimate it: it’s distributed and it’s able to extract data from our own scripts.
Let’s get back to our list of free server monitoring tools with a champion of graphics with RRDtool and oriented to SNMP monitoring, which marked its origin. We recommend it to monitor game servers where connectivity deprives everything else and in order to monitor the bandwidth. For few devices we have the PHP language, reusing its cmd.php file, but if we grow we will use the C language to use “Spine”, formerly known as Cactid. It uses MySQL for certain functions, but for auditing historical data it won’t work.
A daemon written in C language about Unix, but it stands out in its modularity, so much so that it has an add-on for RRDtool and can monitor remotely and locally with other add-ons (it can even send data to other demons, i.e. act as a Software Agent). In itself it is so small that it is used together with OpenWRT, an “operating system” for routers and is even used by some computer giants. It is difficult to classify because it handles several free use licenses according to their extensions, which in turn provide different functionalities. Although it is installed on any Unix/Linux, the modules are not written for all the OS’s.
It constitutes a federation by means of gmetad, which is in charge of representing the state of the cluster to send it to other gmetad and/or gmond. Here the term promiscuity is very well represented, since they start from using IP addresses as access control between themselves. We will be able to observe its performance with a web interface written in PHP, and it uses C, Perl and Python language with the help of RRDtool to save data and show graphs. Currently he is no longer part of OpenNebula.
Also written in C language, like Collectd, but it’s quite a heavyweight. Son of Nagios, which is characterized by unwittingly encouraging everyone to develop their own solutions, starting with it; Icinga is also part of other software such as GroudWork. We must make it clear that there is Icinga 1, which we must install if we migrate from Nagios and then install Icinga 2. Both have common elements, of course improved, but it creates a sea of confusion to manage. At least the community of users and administrators is very large, and with work we will be able to reuse/adapt code in Nagios. It has add-ons for other operating systems.
It is promoted as a small tool and claims to be ready and working in 15 minutes; this is due to the fact that it is oriented to monitoring processes, even restarting them if necessary. It interferes with security by promising to track and control the change of files by MD5 and SHA1; keep track of its CPU consumption on the server to be monitored, precisely by means of itself, which also monitors memory usage and workload. It performs basic network tests and the visualization of states can be centralized by command line or one by one by web interface (M/Monit is a separate tool that centralizes web interfaces).
With over 500 add-ons (300 of which make up the system itself), this work by Jimmy Olsen has stabilised its development. Written in Perl 5.10 and RRDtool for web interface graphics, it has a very dominant master/slave scheme: it only asks the nodes from time to time for new data. Such nodes can use software agents in Perl (even older versions), in Python, for OpenWRT (basic Perl), in Shell scripts, and in the minimal form: inetd/xinetd! This is convenient for our servers with few hardware resources and we will be able to reuse our shell scripts.
What more can we say about Nagios? Click for all our articles!
It is focused on network monitoring and self-discovery of types of devices, platforms and operating systems, it does not complicate our lives with little maintenance and receives updates twice a year. It’s a tool for people who are calm and without hardship. It provides us with both normal and proprietary MIB’s in the case of SNMP, and maintains close relationships with manufacturers to update them. It surprises the integration with Collectd, Munin, Smokeping and RANCID (these last two not analysed here) to monitor Apache, BIND, DRBD, Memcached, MySQL, NFS, among others. It has other paid editions: “Professional” and “Enterprise“.
Our Community version is written in open source and is fully functional (and necessary if we want to migrate to the Enterprise version later). They say that nobody is a prophet in their land, but we have placed in this article a good amount of links to the rest of our articles that support our affirmation of the very good quality -and constant debugging- of our code: even a data center (a good set of servers) can be monitored with Pandora FMS!
Made in Python and Java, it supports plug-ins in Nagios format and we can develop our own in Python (ZenPacks, there are already more than 400) with free software license. It has alerts, self-discovery and network changes (SNMP, SSH, WMI) with Twisted and attention to the Net-SNMP protocol; monitoring of network services (HTTP, POP3, NNTP, SNMP, FTP). Web server uses Zope (Python), RRDtool for graphics, uses MySQL
In the world of free software there are many other tools: Performance Co-Pilot, Anturis, SeaLion, SysUsage, Monitor.us or us (Teamviewer), Spiceworks… and the ones you develop!
Remember that just by contacting us we will put the powerful Enterprise version at your service, with amazing flexibility. Don’t miss this opportunity!