Munin is a comprehensive software for monitoring computers, especially servers. It helps the system administrators to collect various system information that can be viewed via a web interface such as processor load, hard disk usage, network traffic, access to server services on one or more computers, and more…
It is suitable for monitoring a single server or a large number of servers. Munin itself is set up as a master/client application. If there are several machines to be monitored then the server with Munin main instance act as a Master, the information from all machines is collected and evaluated on this; whereas other servers or machine will be known as nodes, that only collect data on the local machine and make it available to the master.
The master computer can query the “Munin node” on other computers in the network and thus display the information. Munin is therefore suitable for monitoring a single computer as well as for monitoring an entire computer network. If you are looking for Munin open-source alternatives then Nagios and Icinga are some of them.
Steps to Munin Monitoring on Ubuntu 20.04 LTS Linux
1. Switch to root user
Open command terminal or access the server via SSH. And then switch to root user for installing and setup the Munin Server monitoring solution.
sudo -i
2. Run Ubuntu system update
Before moving further let’s first run the system update command to refresh the system repository cache and install a new available version of the existing packages on the system.
apt update
3. Install Apache and some other dependencies
We need to configure a web server on Ubuntu to access the web interface over a network of Munin. Therefore, use the below-given command to install Apache and other required packages.
apt install apache2 libcgi-fast-perl libapache2-mod-fcgid
4. Command to Install Munin on Ubuntu 20.04 Server
Munin can be installed from package sources on Ubuntu, hence we don’t need to add any additional or extra repository on our system.
apt install munin
The above command will install Munin, Munin-node, and Munin plugins extra.
If your server or the remote server that you want to monitor also has Mysql or MariaDB database then to monitor it also enables few extra Munin plugins.
cd /etc/munin/plugins ln -s /usr/share/munin/plugins/mysql_ mysql_ ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_ ln -s /usr/share/munin/plugins/mysql_queries mysql_queries ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries ln -s /usr/share/munin/plugins/mysql_threads mysql_threads
Also, enable logs and other directories required to store data generated by Munin.
Edit Munin configuration file:
nano /etc/munin/munin.conf
In the file delete the # symbol given in front of the following lines to uncomment them. For more information, you can see the screenshot.
dbdir /var/lib/munin htmldir /var/cache/munin/www logdir /var/log/munin rundir /var/run/munin
To save the file press Ctrl+O, press the Enter key, and then Ctrl+X to exit the file.
5. Configure Apache for Munin Server monitoring
We already have a pre-build Apache configuration file for Munin inside its directory, hence, just create a Symbolic link of that file for Apache.
Go to Apache configuration directory.
cd /etc/apache2/conf-enabled
Create Symbolic Link
ln -s /etc/munin/apache24.conf munin.conf
(optional) If you want to access the Munin Web interface outside your localhost, which means the server where you have installed this Server monitoring tool, then edit the Munin Apache configuration file.
nano /etc/munin/apache24.conf
Now, add the # symbol in front of the line “Require local
” and after that add
Require all granted
And also change the Options
value from None to FollowSymLinks SymLinksIfOwnerMatch
See the below screenshot to get an idea. Whereas to save the file press Ctrl+O, press the Enter key, and then Ctrl+X to exit the file.
Restart Apache:
systemctl restart apache2
Restart Munin service
systemctl restart munin munin-node
To check the status
systemctl status munin munin-node
6. Access Munin Server Web interface
Now, open a local or remote browser and point it to your Munin server IP-address along with a directory of it. For example:
http://server-ip-address/munin
Change Server-IP address with the actual address or domain name of your server.
7. Setup Node to monitor multiple systems
If you want to monitor remote Linux systems then first install Munin node in that:
sudo apt install munin-node
After that edit the Node configuration file:
sudo nano /etc/munin/munin-node.conf
Add the Master Munin Server IP address where you want to collect the stats of the node system. In the below format.
For example, our master server ip-address is 192.168.0.108. So the format will be like this:
allow ^192\.168\.0\.108$
Restart node service
sudo service munin-node restart
Now, go to Master Munin Server and add the node Ip-address there in its configuration file that you want to monitor there.
sudo nano /etc/munin/munin.conf
Add the Node Address in the below format:
[node0.example.com] address 192.168.0.106 use_node_name yes
Change the address and domain values as per yours in the above format.
Save the file Crtrl+O, press Enter key, and to exit use Ctrl+X.
Reload Munin:
sudo service munin restart
Now, on your Munin Web interface you will have the added Node:
Thanks for this tutorial.
Shoul you add tutorial with topic: How to set password for access to munin?
IMHO here: https://guide.munin-monitoring.org/en/latest/advanced/tls-setup.html