How to Install Monitorix on CentOS Stream 10 (Step-by-Step Guide)

Monitorix logo

Monitorix is a lightweight, open-source system monitoring tool written in Perl. It collects system performance data and displays it through an easy-to-use graphical web interface. Since version 3.0, Monitorix comes with its own built-in HTTP server, so you don’t need to set up Apache or Nginx separately.

Originally developed by Jordi Sanfeliu i Font, Monitorix is distributed under the GPL v2 license and works on many Linux distributions, including Red Hat, CentOS, and CentOS Stream.

Table of Contents

  1. Step-by-Step Installation of Monitorix on CentOS Stream
  2. Conclusion
  3. FAQ

Step-by-Step Installation of Monitorix on CentOS Stream

1. Update System and Enable EPEL Repository

Before installing Monitorix, make sure your CentOS Stream is updated and that the EPEL repository is enabled:

sudo dnf update -y
sudo dnf install epel-release -y

The EPEL repository contains Monitorix and the required dependencies.

2. Install Required Dependencies

Monitorix needs several Perl modules and RRDtool for data collection and graphing. Install them with:

sudo dnf install \
  rrdtool rrdtool-perl \
  perl-libwww-perl perl-MailTools perl-CGI \
  perl-DBI perl-XML-Simple perl-Config-General \
  perl-IO-Socket-SSL perl-HTTP-Server-Simple \
  perl-MIME-Lite -y

3. Install Monitorix

Now, install Monitorix directly from the EPEL repository:

sudo dnf install monitorix -y

Check the installed version:

monitorix -v

4. Enable and Start the Monitorix Service

Enable Monitorix to start automatically and check its status:

sudo systemctl enable --now monitorix
sudo systemctl status monitorix

5. Configure the Built-in HTTP Server

Monitorix uses its own lightweight HTTP server. Edit the configuration file:

sudo nano /etc/monitorix/monitorix.conf

Modify the <httpd_builtin> section to fit your environment:

<httpd_builtin>
  enabled = y
  host = 0.0.0.0
  port = 8080
  user = nobody
  group = nobody
  hosts_allow = 192.168.1.0/24
  hosts_deny = all
</httpd_builtin>
  • host = 0.0.0.0: allows access from any IP
  • Use hosts_allow and hosts_deny to restrict access for security

6. Configure Firewall Rules

If firewalld is running, open port 8080 so you can access Monitorix via browser:

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

For more security, allow only your local network:

sudo firewall-cmd --add-rich-rule \
  'rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" accept' \
  --permanent
sudo firewall-cmd --reload

7. Access the Monitorix Web Interface

Once the service is running and the firewall is configured, open your browser and go to:

http://<server-ip>:8080/monitorix

At first, graphs may be empty. Wait a few minutes for Monitorix to collect system data.

Conclusion

By following these steps, you now have Monitorix installed and running on CentOS Stream. This powerful tool lets you monitor CPU, memory, disk usage, network I/O, and more—all in real time through a simple web dashboard.

To recap, installation involves:

  • Enabling EPEL
  • Installing dependencies and Monitorix
  • Configuring the built-in HTTP server
  • Adjusting firewall rules
  • Accessing the web interface

FAQ Section

Q1: What is Monitorix used for?
A1: Monitorix is a lightweight monitoring tool for Linux systems that tracks CPU, memory, disk, and network usage, displaying data through an easy-to-use web interface.

Q2: Does Monitorix require Apache or Nginx?
A2: No. Since version 3.0, Monitorix comes with its own built-in HTTP server, so you don’t need Apache or Nginx unless you want advanced reverse-proxy features.

Q3: Which port does Monitorix use by default?
A3: Monitorix runs on port 8080 by default. You can change this in the configuration file /etc/monitorix/monitorix.conf.

Q4: Can I secure Monitorix access?
A4: Yes. You can restrict access to specific IP addresses using the hosts_allow and hosts_deny settings, and configure firewall rules for additional security.

Q5: How long does it take for Monitorix graphs to show data?
A5: Monitorix collects data continuously. After installation, it may take a few minutes for the first graphs to populate with performance metrics.

(Visited 16 times, 1 visits today)

You may also like