Monitorix
Monitorix is an 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 many use it on embedded devices as well.
Installation
Install the package monitorixAUR.
Configuration
Edit /etc/monitorix/monitorix.conf
to match graphing options and system-specific variables. For a complete list of options and features, see the man page.
Most of the user settings are self explanatory based on the commented text within the configuration file itself.
Monitorix comes with a light, built-in webserver; via the dependency perl-http-server-simple. It is, however, disabled by default. To use it, change the configuration option as follows:
/etc/monitorix/monitorix.conf
.... <httpd_builtin> enabled = y ....
See the configuration file for the other related options, for example accesss restrictions, or #Configure an external webserver.
Start and viewing data
Start/enable monitorix.service
.
To view system stats, using the perl-http-server, simply point a browser to http://localhost:8080/monitorix to see the data.
Configure an external webserver
Lighttpd
lighttpd is another option.
By default, cgi support is not enabled in lighttpd. To enable it and to assign perl to process .cgi files, add the following two lines to /etc/lighttpd/lighttpd.conf
:
server.modules = ( "mod_cgi" ) cgi.assign = ( ".cgi" => "/usr/bin/perl" )
Apache
apache is yet another option.
Nginx
nginx can be used as a reverse proxy/webserver by adding the following server block the nginx config:
server { listen 80; server_name your.domain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_buffering off; } location ~ ^/monitorix/(.+\.(css|png))$ { alias /srv/http/monitorix/$1; } }
Also add url_prefix_proxy = http://your.domain.com
to /etc/monitorix/monitorix.conf
.
Using tmpfs to Store RRD databases
anything-sync-daemon is a package which provides a pseudo-daemon that makes use of tmpfs to store RRD Databases for Monitorix. Doing so will greatly reduce hdd reads/writes.