How to install Monitorix in ubuntu 12.04 (Precise) Server

Sponsored Link
Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible. It has been created to be used under production UNIX/Linux servers, but due to its simplicity and small size you may also use it on embedded devices as well.

It mainly consists of two programs: a collector called monitorix, which is a Perl daemon that is started automatically like any other system service, and a CGI script called monitorix.cgi.

All of its development was initially created for monitoring Red Hat, Fedora and CentOS Linux systems, so this project was made keeping in mind these type of distributions. Today it runs on different GNU/Linux distributions and even in other UNIX systems, like FreeBSD and OpenBSD.

It is currently in active development adding new features, new graphs and correcting bugs in the attempt to offer a great tool for daily systems administration.

Monitorix Features

The monitoring includes the following graphs:
System load average and usage (system.rrd)
System load.
Active processes.
Memory allocation.
Global kernel usage (kern.rrd)
Including user, nice, system, idle, i/o wait, irq, software irq, steal and guest.
Context switches.
Fork and vfork rates.
VFS usage (dentries, inodes and files).
Per-processor kernel usage (proc.rrd)
Including user, nice, system, idle, i/o wait, irq, software irq, steal and guest.
Supports unlimited number of processors or cores.
Ability to define the number of graphs per row.
Ability to change the size of the graphs (there are already some predefined sizes).
Ability to disable partial or completely the legend data.
HP ProLiant System Health (hptemp.rrd)
Up to 20 hardware temperature sensors supported.
Selectable ID sensors for each graph.
Using HP Command Line Utilities (hplog).
(version 8.6.0 of 10-Sep-2010 at the time of writting).
LM-Sensors and GPU temperatures (lmsens.rrd)
Up to 16 temperature sensors supported for cores.
Up to 2 temperature sensors supported for the motherboard.
Up to 4 temperature sensors supported for the CPU.
Up to 9 fan speeds supported.
Up to 12 voltages supported.
Up to 9 temperature sensors for GPU (nvidia).
NVIDIA temperatures and usage (nvidia.rrd)
Up to 9 cards supported.
Temperatures, GPU usage and memory usage (CUDA).
Disk drive temperatures and health (disk.rrd)
Up to 8 disk drives supported.
Temperatures (using smartmontools and hddtemp).
Reallocated sectors count.
Current pending sectors.
Filesystem usage and I/O activity (fs.rrd)
Up to 9 mount points supported.
Root filesystem and swap device.
Ability to hide the real name of each mount point.
Disk I/O activity of the root filesystem device.
Disk sectors activity of the root filesystem device.
Network traffic and usage (net.rrd)
Up to 10 network devices supported.
Including packet traffic and traffic error graphs.
System services demand (serv.rrd)
Ability to toggle between (I)ncremental and (L)oad values.
Including (SSH, FTP, Telnet, Samba, FAX, CUPS, Fail2ban, IMAP, POP3, SMTP, VirusMail and Spam).
Supports xinetd, Sendmail, Postfix, Dovecot, UW-IMAP, Qpopper, Hylafax, MailScanner and CommuniGate logs.
Mail statistics (mail.rrd)
Supported MTAs are Sendmail and Postfix.
Complete statistics including:
Incomming connections.
Outgoing connections.
Number of emails in queue.
Total size of all emails in queue.
Network traffic usage.
Greylisting (milter-greylist).
Network port traffic (port.rrd)
Unlimited number of network ports supported.
Ability to select the protocol type for each port (tcp, udp, etc.).
It warns if a network port is not listening.
Users using the system (user.rrd)
Supports SSH/Login/Telnet, Samba and Netatalk.
Apache statistics (apache.rrd)
Including workers (busy and idle), CPU usage and requests/sec.
Unlimited number of Apache servers supported.
Nginx statistics (nginx.rrd)
Including connections (reading, writing, waiting), requests/sec and network traffic.
Lighttpd statistics (lighttpd.rrd)
Including workers (busy and idle), network traffic and requests/sec.
Unlimited number of Lighttpd servers supported.
MySQL statistics (mysql.rrd)
Query types per second:
Percentage values of:
Thread cache hit rate.
Query cache usage.
Connections usage.
Key buffer usage.
InnoDB buffer pool usage.
Number of opened tables and table locks waited per second.
Number of queries and slow queries per second.
Number of connections, abort clients and abort connects per second.
Network traffic.
Unlimited number of MySQL servers supported.
Squid Proxy Web Cache statistics (squid.rrd)
Up to 19 result and status codes supported.
Overall requests (client, server, etc.).
Memory and disk storage usage.
IP cache use with requests, hits and misses.
Network protocols usage (HTTP, FTP, Gopher and WAIS).
Client and server network traffic.
NFS server statistics (nfss.rrd)
NFS v2, v3 and v4 supported.
Up to 30 defined requests supported.
Overall I/O bytes (read and written).
Network layer usage (TCP, UDP and TCPConn).
RPC usage.
Thread utilization.
Read cache usage.
File handle cache usage.
NFS client statistics (nfsc.rrd)
NFS v2, v3 and v4 supported.
Up to 32 defined requests supported.
RPC usage.
NTP statistics (ntp.rrd)
Unlimited number of NTP servers supported.
NTP timing.
Stratum level.
Reference Identifier and Kiss-o'-Death Codes.
Fail2ban statistics (fail2ban.rrd)
Unlimited number of group of jails for monitoring.
Ability to define up to 9 jails per group or graph.
Ability to define a title for every group or graph of jails.
Icecast Streaming Media Server statistics (icecast.rrd)
Unlimited number of Icecast servers supported.
Current listeners.
Devices interrupt activity (int.rrd)
APIC support with up to 256 different interrupts.
Support monitoring of remote servers (Multihost).
Unlimited number of remote servers.
Ability to define the number of graphs per row.
Ability to hide the real URL of each remote server.
Support monitoring of (as gateway) Internet traffic of LAN devices.
Unlimited number of LAN devices (PC, printers, networks, etc.).
Ability to define the number of graphs per row.
Ability to enable traffic monthly reports.
Ability to send individual traffic monthly reports.
Alert capabilities supported.
CPU load average alert.
Root filesystem usage alert.
Activated when it reaches or exceeds a threshold value for an specified amount of time.
Silent mode to be able to retrieve the graphs from scripts.
Traffic statistics are stored in fixed-size databases (RRDtool).
Ability to view statistics per day, week, month or year.
Ability to view statistics in graphs or in plain text tables.
Ability to zoom in any graph to see it in more detail.
Web interface offers minimal learning, ubiquitous access.
Configuration with only one text-plain file.
Perl language based (lightweight tool).
Requires a CGI capable web server.
Supported systems: GNU/Linux, FreeBSD and OpenBSD.

Preparing your server

open the terminal and run the following command

sudo apt-get install apache2 rrdtool libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl

Download Monitorix deb package

You can download Monitorix deb package from here

Once you have deb package you can install from the terminal using the following command

sudo dpkg -i monitorix_2.5.0-izzy1_all.deb

Now you need start apache and monitorix services using the following command

sudo /etc/init.d/apache2 start

sudo service monitorix start

Now you need to open your browser and type the following URL



Sponsored Link

You may also like...

5 Responses

  1. JP says:

    Nice! However, I get an 404 Error on http://localhost/monitorix.

    http://localhost works fine.

    /var/www/monitorix was not created during the installation process.

    Is there a missing step to the installation?

  2. JP says:

    Never mind. Restarting apache did the trick.

  3. Sirschizz says:

    I just tried the download link for for Monitorix “here” option. The ubuntu link on this URL doesn’t seem to be correct for me. Being a Ubuntu\Linux NooB, will I be prompted with a download window when downloading a deb package? All it does is open the link in a new Tab that contain symbols. Any thoughts?

  4. carlos sousa says:

    hi. I opened the link from and it opened the main page. O choose the localhost and network graph and I got an error:

    You don’t have permission to access /monitorix-cgi/monitorix.cgi on this server.

    Where do I change the options to allow viewing from outside localhost?


  5. charles says:

    Same here, no /var/www/monitorix created and a 404 error. looks nice, but not functional if it won’t install properly

Leave a Reply

Your email address will not be published. Required fields are marked *