- About Us
System administrators need to keep an eye on their servers to make sure things are running smoothly. If they find a problem, they need to see when it started, so investigations can focus on what happened at that time. That means logging information at regular intervals and having a quick way to analyse this data. Here's a look at several tools that let you monitor one or more servers from a Web interface.
Monitorix shows you system information at a glance in three graphs: a central one on the left to give overview information and two smaller graphs on the right to give related details. It includes a Perl daemon that collects the statistics for your systems and a CGI Web interface that allows you to analyse the data.
There are no Monitorix packages in the Fedora, openSUSE, or Debian repositories. The Monitorix download page offers a noarch RPM file as well as a tarball for non-Red Hat/Fedora-based distributions. I used version 1.2.1 on a 64-bit Fedora 9 machine, installed from the noarch RPM file. If you are installing on a Debian-based system, in the monitorix-1.2.1 tarball there is an install.sh file that will copy the files to the correct path for your distribution, and an un_install.sh file, should you decide to remove Monitorix. You need to install Perl bindings for RRDtool (rrdtool-perl on Fedora 9, librrds-perl on Debian, and rrdtool on openSUSE 11) in order to use Monitorix.
Once you have the files installed in the right place, either by installing the RPM file or running install.sh, you can start collecting information by running
service monitorix start. You should also be able to visit http://localhost/monitorix/ and be offered a collection of graphs to choose from (or just nominate to see them all).
Monitorix doesn't include a plugin system but has builtin support for monitoring CPU, processes, memory, context switches, temperatures, fan speeds, disk IO, network traffic, demand on services such as POP3 and HTTP, interrupt activity, and the number of users attached to SSH and Samba. A screenshot of Monitorix displaying daily graphs is shown below. There are 10 main graph panels, even though you can see only about 1.5 here.
You can configure Monitorix by editing the /etc/monitorix.conf file, which is actually a Perl script. The MNT_LIST option allows you to specify as many as seven filesystems to monitor. The REFRESH_RATE setting sets how many seconds before a Web browser should automatically refresh its contents when viewing the Monitorix graphs. You can also use Monitorix to monitor many machines by setting
MULTIHOST="Y" and listing the servers you would like to contact in the SERV_LIST setting, as shown below. Alternatively you can list entire subnets to monitor using the PC_LIST and PC_IP options, examples of which are included in the sample monitorix.conf file.
MULTIHOST="Y" our @SERV_LIST=("server number one", "http://192.168.1.10", "server number two", "http://192.168.1.11");
Having each graph panel made up of a main graph on the left and two smaller graphs on the right allows Monitorix to convey a fair amount of related information in a compact space. In the screenshot, the load is shown in the larger graph on the left, with the number of active processes and memory allocation in the two smaller graphs on the right. Scrolling down, one of the graph panels shows network services demand. This panel has many services shown in the main graph and POP3 and WWW as smaller graphs on the right. Unfortunately, the selection of POP3 seems to be hard-coded on line 2566 of monitorix.cgi where SERVU2 explicitly uses POP3, so if you want to monitor an IMAP mail service instead you are out of luck.
Monitorix is easy to install and get running, and its three graph per row aggregate presentation gives you a good high-level view of your system. Unfortunately some things are still hard-coded into the CGI script, so you have a somewhat limited ability to change the Web interface unless you want to start hacking on the script. The lack of packages in distribution repositories might also turn away many users.