How to Install Munin Monitoring Tool on Debian 12

Munin is a free and open-source system and network monitoring tool that displays system metrics in graphs through a web browser. The software works as a client-server model. IT can monitor its own resources and hundreds of remote machines via a web browser. It helps you to collect system information such as processor load, hard disk usage, network traffic, access to server services on one or more computers, and more.

This tutorial will show you how to install the Munin monitoring tool on Debian 12.

Prerequisites

  • A server running Debian 12.
  • A root password is configured on the server.

Install Apache Web Server

Munin can run on many web servers, including Apache, Nginx, and Lighttpd. In this post, we will install Apache for Munin.

You can install the Apache and other required packages with the following command:

apt install apache2 apache2-utils libcgi-fast-perl libapache2-mod-fcgid -y

Once all the packages are installed, you must enable the fcgid module. You can enable it using the following command:

a2enmod fcgid

Once you are done, restart the Apache service to apply the changes:

systemctl restart apache2

Install Munin Monitoring Tool

The Munin package is included in the Debian 12 default repository by default. You can install it using the following command:

apt install munin munin-node munin-plugins-extra -y

After installing all the packages, you must create an admin account and password to access Munin.

You can create it using the following command:

htpasswd -c /etc/munin/munin-htpasswd admin

Set your admin password as shown below:

New password: 
Re-type new password: 
Adding password for user admin

Once you are finished, you can proceed to the next step.

Configure Apache for Munin

During the Munin installation, an Apache configuration file will be created at /etc/munin/apache24.conf. You will need to copy it inside the Apache configuration directory.

cp -p /etc/munin/apache24.conf /etc/apache2/sites-available/munin.conf

Next, edit the Munin configuration file with the following command:

nano /etc/apache2/sites-available/munin.conf

Make the following changes:

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
Alias /munin/static/ /var/cache/munin/www/static/

<Directory /var/cache/munin/www>
AuthUserFile /etc/munin/munin-htpasswd
Authtype Basic
AuthName "Munin"
Require valid-user
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
</Directory>

<Directory /usr/lib/munin/cgi>
AuthUserFile /etc/munin/munin-htpasswd
Authtype Basic
AuthName "Munin"
Require valid-user
Options FollowSymLinks SymLinksIfOwnerMatch

<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Directory>

Save and close the file then enable the Munin virtual host with the following command:

a2ensite munin

Next, restart the Apache and Munin service to apply the changes:

systemctl restart apache2
systemctl restart munin-node

You can check the status of the Munin with the following command:

systemctl status munin-node

You will get the following output:

? munin-node.service - Munin Node
     Loaded: loaded (/lib/systemd/system/munin-node.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-11-06 15:36:58 UTC; 7s ago
       Docs: man:munin-node(1)
             http://guide.munin-monitoring.org/en/stable-2.0/reference/munin-node.html
    Process: 30715 ExecStartPre=install -o munin -g munin -d /run/munin (code=exited, status=0/SUCCESS)
   Main PID: 30716 (munin-node)
      Tasks: 1 (limit: 4679)
     Memory: 9.2M
        CPU: 798ms
     CGroup: /system.slice/munin-node.service
             ??30716 /usr/bin/perl -wT /usr/sbin/munin-node --foreground

Nov 06 15:36:57 debian11 systemd[1]: Starting Munin Node...
Nov 06 15:36:58 debian11 systemd[1]: Started Munin Node.

You can also check the Apache status with the following command:

systemctl status apache2

You will get the following output:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-11-06 15:36:51 UTC; 31s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 30700 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 30704 (apache2)
      Tasks: 7 (limit: 4679)
     Memory: 17.3M
        CPU: 115ms
     CGroup: /system.slice/apache2.service
             ??30704 /usr/sbin/apache2 -k start
             ??30705 /usr/sbin/apache2 -k start
             ??30706 /usr/sbin/apache2 -k start
             ??30707 /usr/sbin/apache2 -k start
             ??30708 /usr/sbin/apache2 -k start
             ??30709 /usr/sbin/apache2 -k start
             ??30710 /usr/sbin/apache2 -k start

Nov 06 15:36:51 debian11 systemd[1]: Starting The Apache HTTP Server...

Access Munin Web Interface

Now, open your web browser and access the Munin web interface using the URL http://your-server-ip/munin. You will be redirected to the Munin login page:

Munin login

Provide your admin username, password and click on the Sign in button. You should see the Munin dashboard on the following page:

Munin dashboard

Conclusion

Congratulations! You have successfully installed the Munin monitoring server on Debian 12. You can now add a remote machine to the Munin server and monitor them from the web-based interface.

Share this page:

0 Comment(s)