Munin is a network resource monitoring tool. It allows you to collect data from multiple servers simultaneously and display everything in graphs.


The system itself consists of two independent parts: the server (the munin itself), installed on one machine where all the data will be collected, and a small munin-node daemon which is installed on the machines we will monitor. This daemon itself is a small Perl script which listens on port 4949 using Net::Server. On startup it looks through the plugins installed in /etc/munin/plugins and remembers their names. Every 5 minutes the munin server connects to all nodes, gets information from all plugins and stores it to the rrdtool database. Thus, you don't even need MySQL to run Munin.

The plugins are the most delicious thing in Munin. Their incredible ease of implementation allows you to write plugins for everything you want in the system, spending a minimum of time reading the documentation. Apparently, this explains the fact that a relatively young system already has a large number of ready-made plugins.

In fact, each plugin is an executable file which must output current parameter values.

Updated Sept. 17, 2018