How to monitor your server with Monitorix

monitorix logoAs briefly introduce in a previous tutorial concerning Munin, it exists plenty of solution to monitor your server (CPU, load, disk use, network use, processes, etc…) but at that time I didn’t heard much about Monitorix (Usually it turns around Munin and Cacti), but I have to admint Monitorix is a very good alternative, and here is why.



Monitorix is a light monitoring tool (web based), very easy to install and yet with plenty of supported info such as:

– System load average and usage

– Kernel usage

– LM-Sensors and GPU temperatures

– Disk drive temperatures and health

– Filesystem usage and I/O activity

– Network traffic and usage

– Netstat statistics

– System services demand (SSH, ProFTPD, Samba, CUPS, Fail2ban, IMAP, POP3, SMTP, etc…)

– Mail statistics

– Apache/MySQL/FTP/etc… statistics

– Memcached/Alternative PHP Cache statistics

– and many more!

monitoring system load average chart

The project is still actively maintained and they recently released their 3.5.1 version (6th May 2014).

Well and the list of features is growing! They recently added support to monitor unlimited number of APC UPS! (Best UPS brand in my opinion!)

monitorix apc ups chart

Have a look of their many screenshots to see how it looks!

Interested to test it out, here is how to install Monitorix on your own server.



In Debian, Monitorix is not into official repositories, but you can add the generic one from IzzySoft that works for both Ubuntu and Debian.

1) Add IzzySoft repository in your /etc/apt/sources.list

In root, type:

nano /etc/apt/sources.list

and add at the end of the file, the line:

deb generic universe

2) Add the IzzySoft GPG Key and update repository

Simply run (still in root):

wget -q | apt-key add izzysoft.asc && apt-get update

3) Install Monitorix

apt-get install monitorix

Note that it will also install all its dependencies.

4) Go to http://YourIP:8080/monitorix

Monitorix comes with a default configuration that works out-of-the-box, but you can also modify the configuration in /etc/monitorix/monitorix.conf

I recommend you to read the official documentation if you wish to tweak the reports.

monitorix ethernet chart


Virtualhost configuration

Having to access to http://YourIP:8080/monitorix is quite annoying…and if, like me, you prefer to access to your Monitorix instance directly through a dedicated subdomain (like mon.domain.tld), you will need a virtualhost.

You will need to:

1) Create a A redirection in your DNS server/registrar from seo.domain.tld to your IP

2) Install mod proxy html

You will need to install the following packages in root:

apt-get install libapache2-mod-proxy-html

And you will also need to activate the mod-proxy-http (Already installed)

a2enmod proxy_http

3) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called monitorix (In root):

nano /etc/apache2/sites-enabled/monitorix

and paste/adapt the following content:

<VirtualHost *:80>
        ServerAdmin webmaster@domain.tld
        ServerName mon.domain.tld

        ProxyRequests Off
        Order deny,allow
        Allow from all
        ProxyPass / http://localhost:8080/monitorix
        ProxyPassReverse / http://localhost:8080/monitorix


Adapt the content (ServerAdmin and ServerName).

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

/etc/init.d/apache2 reload

And Voila! You should now have access to your Monitorix using mon.domain.tld directly!


Loves to discover web-based apps to install on his own server@home and write articles about it


Add a comment