Munin ist eine Anwendung zur System-, Netzwerk- und Infrastrukturüberwachung, die Informationen in Form von Grafiken im Webbrowser darstellt. Da sie als Client-Server-Architektur aufgebaut ist, kann sie so konfiguriert werden, dass ein Munin-Master eine beliebige Anzahl von Client-Rechnern (Munin nodes) überwachen kann.
Wir wollen uns aber auf einen einzelnen Server konzentrieren, denn oft will man wissen, wie der gemietete Server ausgelastet ist. Die folgenden Schritte müssen mit root-Rechten durchgeführt werden. Stelle sicher, dass das System auf dem neuesten Stand ist, bevor du mit der Installation von Munin beginnst:
apt-get update
apt-get upgrade
Nun müssen ein paar Abhängigkeiten installiert werden. Apache wird verwendet, um die Munin-Seiten anzuzeigen, das apache fcgid-Modul wird für die Zoom-Funktion des Munin-Diagramms benötigt:
apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid
Aktiviere das fcgid-Modul im Apache:
a2enmod fcgid
Um Munin unter Ubuntu 21.04 zu installieren, führe die folgenden Befehle aus:
apt-get -y install munin
Die Hauptkonfigurationsdatei munin.conf
und andere Dateien, die für die Funktion von Munin erforderlich sind, befinden sich im Verzeichnis /etc/munin
und seinen Unterverzeichnissen. In diesem Schritt werden wir die Hauptkonfigurationsdatei für den Munin-Master und seine Apache-Konfiguration apache24.conf
ändern. Öffne dazu die Hauptkonfigurationsdatei:
cd /etc/munin
sudo nano munin.conf
Suche nach den folgenden Zeilen und kommentiere sie aus – entfernen dazu das ihnen vorangestellte # Zeichen. In dbdir werden alle rrd-Dateien gespeichert, die die eigentlichen Überwachungsinformationen enthalten; in htmldir werden die Bilder und Site-Dateien gespeichert; in logdir werden die Protokolle verwaltet; in rundir werden die Statusdateien gespeichert und in tmpldir werden die HTML-Vorlagen gespeichert. Ändere das htmldir von /var/cache/munin/www
in dein Webverzeichnis – hier /var/www/munin
. Suchen schließlich nach dem ersten Host-Baum [localhost.localdomain]
. Dies ist der Name, der in der Munin-Web-Oberfläche angezeigt wird. Ändere den Namen in einen Namen, der den Munin-Master eindeutig identifiziert, z. B. den Hostnamen des Servers:
# Example configuration file for Munin, generated by 'make build'
# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files. They all
# must be writable by the user running munin-cron. They are all
# defaulted to the values you see here.
#
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
# Where to look for the HTML templates
#
tmpldir /etc/munin/templates
# Where to look for the static www files
#
#staticdir /etc/munin/static
# temporary cgi files are here. note that it has to be writable by
# the cgi user (usually nobody or httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp
# (Exactly one) directory to include all files from.
includedir /etc/munin/munin-conf.d
[. . .]
# a simple host tree
['DeinServerName']
address 127.0.0.1
use_node_name yes
[. . .]
Das ist alles für die Konfigurationsdatei, also speichere und schließe sie. Da das htmldir nicht existiert, müssen wir es erstellen und mit chown versehen, damit es dem Systembenutzer munin gehört:
sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin
Im Verzeichnis /etc/munin
ändern wir auch die Apache-Konfigurationsdatei apache24.conf
von Munin. Sie ist sym-linked mit /etc/apache2/conf-enabled/munin.conf
, die wiederum mit /etc/apache2/conf-available/munin.conf
verknüpft ist. Um sie zu ändern, öffne sie mit nano
:
sudo nano apache24.conf
Ändere in der Datei die Pfade so, dass sie den htmldir widerspiegeln, den du in der munin.conf
angegeben und zuvor erstellt hast. Kommentiere in den beiden Verzeichnis-Abschnitten die Zeilen aus und füge zwei neue ein, so dass die Datei basierend auf dem hier verwendeten Verzeichnispfad wie folgt lautet:
# Munin configuration for apache2
#
# Apache can serve munin's files that are either statically generated
# (in a cron job) or generated on demand (via cgi).
# The relevant munin settings are "html_strategy" and "graph_strategy".
# The related apache settings can be adjusted at the end of this file.
#
# See /usr/share/doc/munin/README.Debian for details.
# ***** COMMON SETTINGS FOR ALL STRATEGIES *****
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
Alias /munin/static/ /var/www/munin/static/
<Directory /var/www/munin>
# Require local
Options None
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>
<Directory /usr/lib/munin/cgi>
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Directory>
# ***** SETTINGS FOR CGI/CRON STRATEGIES *****
# pick _one_ of the following lines depending on your "html_strategy"
# html_strategy: cron (default)
Alias /munin /var/www/munin
# html_strategy: cgi (requires the apache module "cgid" or "fcgid")
#ScriptAlias /munin /usr/lib/munin/cgi/munin-cgi-html
Speichere und schließe die Datei. Starte dann Apache und Munin neu:
sudo service apache2 restart
sudo service munin-node restart
Jetzt kannst du auf die Weboberfläche von Munin zugreifen, indem du /munin an die IP-Adresse des Servers oder die auf dem Server gehostete Domain anhängst:
