Install Monitorix on Rocky Linux 8

Follow through this tutorial to learn how to install Monitorix on Rocky Linux 8. Monitorix is a free, open source, lightweight system monitoring tool designed to monitor as many services and system resources as possible. It consists mainly 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. Monitorix includes its own HTTP server built in (which is listening by default on port 8080/TCP) to see the statistics graphs.

Some of the Monitorix Features include;

  • System load average and usage (system.pm)
    • System load.
    • Active processes.
    • Memory allocation.
    • System entropy.
    • System uptime.
  • Filesystem usage and I/O activity (fs.pm)
    • Unlimited number of filesystems graphs supported.
    • Up to 8 filesystems per graph.
    • Ability to hide the real name of each mount point (filesystem).
    • Inode usage for each filesystem.
    • Disk I/O activity for each filesystem.
    • Time spent in disk I/O for each filesystem.
    • Disk sectors activity for each filesystem.
    • Alerts capabilities for each filesystem defined.
  • Directory usage (du.pm)
    • Unlimited number of groups of directories.
    • Ability to define up to 9 directories per group or graph.
    • Ability to hide (change) the real name of each directory.
    • Ability to count size or files for every directory defined.
  • Network traffic and usage (net.pm)
    • Unlimited number of network devices supported.
    • Including packet traffic and traffic error graphs.
  • Netstat statistics (netstat.pm)
    • Includes statistics for IPv4 and IPv6 connections.
    • All connection states are represented

Read more on Features page.

Install Monitorix on Rocky Linux 8

Install EPEL repository

Monitorix, is available on the EPEL repository which can be installed by running the command below;

dnf install epel-release -y

Install Perl Modules and Other Required Packages

Monitorix is perl based program. You need to install additional Perl modules to improve the functionality.

dnf install rrdtool-perl perl-Config-General perl-LWP-Protocol-https perl-LWP-UserAgent-Determined perl-HTTP-Server-Simple httpd-tools -y

Install Monitorix on Rocky Linux 8

Next, run the command below to install Monitorix on Rocky Linux 8.

dnf install monitorix -y

Configure Monitorix on Rocky Linux 8

/etc/monitorix/monitorix.conf is the default configuration for monitorix.

There are only a few changes that we are going to make, in our setup, as outlined below.

vim /etc/monitorix/monitorix.conf
  • Set the title
title = ITNIXPRO System Monitoring
  • Set the system hostname
hostname = rocky8.itnixpro.com
  • Set the theme color if you want (options are black and white). We go with the default black.
theme_color = black
  • Bind Monitorix web service to specific interface and restrict Access to Monitorix dashboard by updating the lines below under the <httpd_builtin>
    host = monitorix.itnixpro.com 
    hosts_deny = all
    hosts_allow = 192.168.50.0/24
  • Enable basic authentication;
        <auth>
                enabled = y
                hosts_deny = all
                hosts_allow = 192.168.50.0/24
                msg = Monitorix: Restricted access
                htpasswd = /var/lib/monitorix/htpasswd
        </auth>
  • Enable/disable the graphs as you wish

Go through the Graph (de)activation section and enable/disable graphs as you so wish.

NOTE: The best way to configure Monitorix is by creating a custom config on the /etc/monitorix/conf.d directory to avoid having to re-do the configurations in case of an upgrade. You can place your changes on this custom config file.

Configure Monitorix Basic Authentication

Since we have enabled basic authentication, simply set the authentication credentials.

htpasswd -c /var/lib/monitorix/htpasswd itnixproadmin

Running Monitorix

To start and enable Monitorix to run on system boot, run the command below;

systemctl enable --now monitorix

You can check the status;

systemctl status monitorix

Also confirm the port is opened;

ss -altnp | grep :8080
LISTEN 0      128    192.168.50.19:8080       0.0.0.0:*    users:(("monitorix-httpd",pid=7651,fd=6))

You can also check the log files;

/var/log/monitorix
/var/log/monitorix-httpd

Access Monitorix Web Interface

Open Monitorix port on Firewall, port 8080/tcp, if you havent changed it;

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

Next, on your browser, you can access Monitorix via the url, http://host:8080/monitorix.

Install Monitorix on Rocky Linux 8

Select the Graphs to show from the menu.

  • System load average and usage
Install Monitorix on Rocky Linux 8
  • Network Port traffic
Install Monitorix on Rocky Linux 8

And that is it on how to install Monitorix on Rocky Linux 8.

Further Reading

Read more on the documentation page.

Monitorix Documentation

Other Tutorials

Install Arkime/Moloch on CentOS 8

Install Node.js/NPM on Rocky Linux 8

Install and Setup Wazuh Server with ELK Stack on Ubuntu 20.04

Founder of itnixpro.com|Linux Engineer|Author at Itnixpro.com

Leave a Comment