As 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!
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!)
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:
and add at the end of the file, the line:
deb http://apt.izzysoft.de/ubuntu generic universe
2) Add the IzzySoft GPG Key and update repository
Simply run (still in root):
wget -q http://apt.izzysoft.de/izzysoft.asc | 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.
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)
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called monitorix (In root):
and paste/adapt the following content:
<VirtualHost *:80> ServerAdmin email@example.com ServerName mon.domain.tld ProxyRequests Off Order deny,allow Allow from all ProxyPass / http://localhost:8080/monitorix ProxyPassReverse / http://localhost:8080/monitorix </VirtualHost>
Adapt the content (ServerAdmin and ServerName).
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
And Voila! You should now have access to your Monitorix using mon.domain.tld directly!