Serverüberwachung · 5 min read · Oct 20, 2025
Serverüberwachung mit Munin und Monit auf Ubuntu 16.04 LTS (Xenial Xerus)
Dieses Tutorial zeigt Ihnen, wie Sie einen Ubuntu 16.04-Server mit Munin und Monit überwachen. Munin erstellt schöne Grafiken über nahezu jeden Aspekt Ihres Servers, während Monit die Verfügbarkeit von Diensten wie Apache, MySQL, Postfix überprüft und die entsprechenden Maßnahmen wie einen Neustart ergreift, wenn es feststellt, dass ein Dienst sich nicht wie erwartet verhält. Die Kombination der beiden bietet Ihnen eine vollständige Überwachung: Grafiken, die Ihnen helfen, aktuelle oder bevorstehende Probleme zu erkennen, und einen Wächter, der die Verfügbarkeit der überwachten Dienste sicherstellt. Dieses Tutorial enthält zwei (optionale) Kapitel zur Integration von Munin und Monit in ISPConfig 3.1.
1 Vorbemerkung
Der Hostname unseres Systems ist server1.example.com, und wir haben eine Website www.example.com darauf mit dem Dokumentenstamm /var/www/www.example.com/web.
Die folgenden Schritte müssen als Root-Benutzer ausgeführt werden. Um Root-Benutzer auf Ihrem Server zu werden, führen Sie diesen Befehl aus:
sudo -sStellen Sie sicher, dass das System auf dem neuesten Stand ist, bevor Sie mit der Installation von Munin beginnen, führen Sie:
apt-get update
apt-get upgradeApache wird verwendet, um die Munin-Seiten anzuzeigen, das Apache-fcgid-Modul ist für die Zoomfunktion der Munin-Grafiken erforderlich. Ich werde Apache und das libapache2-mod-fcgid-Modul mit apt installieren.
apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgidAktivieren Sie das fcgid-Modul in Apache.
a2enmod fcgid2 Munin installieren und konfigurieren
Um Munin auf Ubuntu 16.04 zu installieren, führen Sie die folgenden Befehle aus:
apt-get -y install munin munin-node munin-plugins-extraWenn der Server MySQL oder MariaDB ausführt, aktivieren Sie einige zusätzliche Munin-Plugins zur Überwachung von MySQL:
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_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threadsAls Nächstes müssen wir die Munin-Konfigurationsdatei /etc/munin/munin.conf bearbeiten. Kommentieren Sie die Zeilen dbdir, htmldir, logdir, rundir und tmpldir aus (die Standardwerte sind in Ordnung). Wir möchten, dass Munin den Namen server1.example.com anstelle von localhost.localdomain in der HTML-Ausgabe verwendet, daher ersetzen wir localhost.localdomain durch server1.example.com im einfachen Hostbaum. Ohne die Kommentare sieht die geänderte Datei so aus:
nano /etc/munin/munin.conf# Beispielkonfigurationsdatei für Munin, erstellt von 'make build'
# Die nächsten drei Variablen geben den Speicherort der RRD
# Datenbanken, die HTML-Ausgabe, Protokolle und die Lock/PID-Dateien an. Sie müssen alle
# beschreibbar sein für den Benutzer, der munin-cron ausführt. Sie sind alle
# auf die Werte voreingestellt, die Sie hier sehen.
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
# Wo nach den HTML-Vorlagen gesucht werden soll
#
tmpldir /etc/munin/templates
# Wo nach den statischen www-Dateien gesucht werden soll
#
#staticdir /etc/munin/static
# temporäre cgi-Dateien sind hier. beachten Sie, dass sie beschreibbar sein müssen
# für den cgi-Benutzer (normalerweise nobody oder httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp
# (Genau ein) Verzeichnis, um alle Dateien einzuschließen.
includedir /etc/munin/munin-conf.d
[...]
# ein einfacher Hostbaum
[server1.example.com]
address 127.0.0.1
use_node_name yes
[...] Wir sollten die Apache-Konfigurationsdatei für Munin /etc/munin/apache.conf finden - sie definiert ein Alias namens munin für das HTML-Ausgabeverzeichnis von Munin /var/cache/munin/www, was bedeutet, dass wir von allen Websites auf diesem Server auf munin zugreifen können, indem wir den relativen Pfad /munin verwenden (z. B. http://www.example.com/munin).
Jetzt werden wir die munin.conf-Datei für Apache bearbeiten, um den Zugriff von externen IP-Adressen zu ermöglichen. Erstellen Sie eine Sicherung der Originaldatei:
mv /etc/munin/apache24.conf /etc/munin/apache24.conf_bakÖffnen Sie die neue Datei mit einem Editor:
nano /etc/munin/apache24.confUnd fügen Sie den folgenden Inhalt ein:
Alias /munin /var/cache/munin/www
# Erfordere lokal
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Erfordere lokal
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
SetHandler fcgid-script
SetHandler cgi-script
Starten Sie Apache neu:
service apache2 restartStarten Sie dann Munin neu:
service munin-node restartWarten Sie nun ein paar Minuten, damit Munin seine erste Ausgabe erzeugen kann, und gehen Sie dann in Ihrem Browser zu http://www.example.com/munin/, und Sie sehen die ersten Statistiken:

(Das ist nur ein kleiner Auszug aus den vielen Grafiken, die Munin erzeugt…)
3 Das Munin-Ausgabeverzeichnis passwortschützen (optional, aber sehr empfohlen)
Jetzt ist es eine gute Idee, das Munin-Ausgabeverzeichnis passwortzuschützen, es sei denn, Sie möchten, dass jeder jede kleine Statistik über Ihren Server sehen kann.
Um dies zu tun, müssen wir die Passwortdatei /etc/munin/munin-htpasswd erstellen. Wir möchten uns mit dem Benutzernamen admin anmelden, also machen wir das:
htpasswd -c /etc/munin/munin-htpasswd adminGeben Sie ein Passwort für admin ein. Öffnen Sie dann erneut /etc/munin/apache.conf…
nano /etc/munin/apache24.conf… kommentieren Sie “Require all granted” aus und fügen Sie die Zeilen hinzu, die ich rot markiert habe:
Alias /munin /var/cache/munin/www
# Erfordere lokal
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
# Erfordere lokal
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
SetHandler fcgid-script
SetHandler cgi-script
Starten Sie Apache dann neu:
service apache2 restart4 Zusätzliche Module in Munin aktivieren
Der Munin-Befehl “munin-node-configure –suggest” kann verwendet werden, um Empfehlungen für zusätzliche Munin-Module zu erhalten, die auf dem Server aktiviert werden können. Führen Sie aus:
munin-node-configure --suggestDie Ausgabe sollte ähnlich wie folgt aussehen:

Die Spalte “used” zeigt, ob ein Modul aktiviert ist, die Spalte “Suggestions” zeigt, ob der Server einen Dienst ausführt, der von diesem Modul überwacht werden kann. Erstellen Sie einen Symlink für das Modul in /etc/munin/plugins, um es zu aktivieren.
Hier werde ich beispielsweise die apache_*-Module aktivieren:
cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volumeStarten Sie Munin neu, um die neue Konfiguration zu laden.
service munin-node restart5 Munin in ISPConfig konfigurieren (optional)
Das ISPConfig Hosting Control Panel hat eine Option, um Munin-Daten im ISPConfig Monitor-Modul anzuzeigen. Die Munin-Daten werden in einem iframe geladen, da die meisten Browser Inhalte, die von http innerhalb einer https-Seite geladen werden, blockieren, müssen wir einen Weg finden, um auf die Munin-Statistiken über SSL zuzugreifen. Der einfachste Weg ist, den SSL-aktivierten ISPConfig vhost dafür zu verwenden, indem wir einen Symlink im ISPConfig-Webverzeichnis zum Munin-www-Datenverzeichnis erstellen.
ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/muninJetzt können wir Munin in einem Browser mit https://server1.example.com:8080/munin über den ISPConfig-Apache-vhost aufrufen.
Der nächste Schritt besteht darin, die Konfiguration in ISPConfig hinzuzufügen.
Melden Sie sich als Administrator (admin) bei ISPConfig an und gehen Sie zu System > Serverkonfiguration, füllen Sie die URL, den Benutzernamen und das Passwort für Munin wie unten gezeigt aus.

Stellen Sie sicher, dass Sie https:// und Port 8080 in der Munin-URL verwenden.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.