Monitorix

From ArchWiki

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.

Note: Without a compatible font already installed, the Monitorix graphs will not contain any text. If this happens, install the terminus-font.

Configuration

Edit /etc/monitorix/monitorix.conf to match graphing options and system-specific variables. For a complete list of options and features, see monitorix.conf(5).

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 access 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.

Tip: If it is the first time running Monitorix, it will take several minutes before data are available to be displayed graphically; so be patient.

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.