Serverüberwachung · 5 min read · Oct 15, 2025

Serverüberwachung mit Munin und Monit auf Debian 8 (Jessie)

In diesem Artikel werde ich beschreiben, wie Sie Ihren Debian 8 (Jessie) Server mit Munin und Monit überwachen können. Munin erzeugt nützliche kleine Grafiken über nahezu jeden Aspekt Ihres Servers (Lastdurchschnitt, Speichernutzung, CPU-Nutzung, MySQL-Durchsatz, eth0-Verkehr usw.) ohne viel Konfiguration, 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 es Ihnen ermöglichen, aktuelle oder bevorstehende Probleme zu erkennen (wie “Wir brauchen bald einen größeren Server, unser Lastdurchschnitt steigt schnell.”), und einen Wächter, der die Verfügbarkeit der überwachten Dienste sicherstellt.

Obwohl Munin es Ihnen ermöglicht, mehr als einen Server zu überwachen, werden wir hier nur die Überwachung des Systems besprechen, auf dem es installiert ist.

Dieses Tutorial wurde für Debian 8 (Jessie) geschrieben, aber die Konfiguration sollte auch auf andere Distributionen wie Ubuntu mit wenigen Änderungen anwendbar sein.

Ich möchte zunächst sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies für Sie funktioniert!

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.

Stellen Sie sicher, dass das System auf dem neuesten Stand ist, bevor Sie mit der Installation von Munin beginnen, führen Sie aus:

apt-get update  
apt-get upgrade

Apache wird verwendet, um die Munin-Seiten anzuzeigen, das Apache fcgid-Modul ist für die Zoomfunktion der Munin-Grafiken erforderlich. Installieren Sie Apache und das fcgid-Modul mit apt.

apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgid

Aktivieren Sie das fcgid-Modul in Apache.

a2enmod fcgid

2 Munin installieren und konfigurieren

Um Munin auf Debian Jessie zu installieren, tun wir dies:

apt-get install munin munin-node munin-plugins-extra 

Wenn 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_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

Als 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 Hostbaumabschnitt. Ohne die Kommentare sieht die geänderte Datei so aus:

nano /etc/munin/munin.conf
# Beispielkonfigurationsdatei für Munin, generiert 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  
# standardmäßig auf die Werte eingestellt, 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 von  
# dem 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 2.4-Konfigurationsdatei für Munin /etc/munin/apache24.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).

Die Apache Munin-Konfiguration ist standardmäßig nicht aktiviert, dies wurde von Debian Wheezy auf Jessie geändert. Das neue Konfigurationsverzeichnis ist /etc/apache2/conf-enabled anstelle von /etc/apache2/conf.d, das in älteren Versionen wie Wheezy und Squeeze verwendet wurde.

Führen Sie diese Befehle aus, um die Konfiguration zu aktivieren und in Apache zu laden.

cd /etc/apache2/conf-enabled/  
ln -s /etc/munin/apache24.conf munin.conf  
service apache2 restart

Stellen Sie sicher, dass Sie die Zeile Require local auskommentieren und stattdessen Require all granted und Options FollowSymLinks SymLinksIfOwnerMatch hinzufügen (ansonsten können Sie die Munin-Ausgabe nur von localhost aus aufrufen):

nano /etc/munin/apache24.conf
Alias /munin /var/cache/munin/www  
  
 # Require local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Require local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Starten Sie Apache neu:

service apache2 restart

Starten Sie dann Munin neu:

service munin-node restart

Warten 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:

Munin-Grafiken

(Das ist nur ein kleiner Auszug aus den vielen Grafiken, die Munin erzeugt…)

3 Passwortschutz für das Munin-Ausgabeverzeichnis (optional, aber sehr empfohlen)

Jetzt ist es eine gute Idee, das Munin-Ausgabeverzeichnis mit einem Passwort zu schü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 tun wir dies:

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

Geben Sie ein Passwort für admin ein. Öffnen Sie dann erneut /etc/munin/apache24.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  
  
 # Require local  
 # 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  
  
 # Require local  
 # 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 restart

4 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 --suggest

Die Ausgabe sollte ähnlich aussehen:

Status der Munin-Knoten-Konfiguration.

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 zum Beispiel 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_volume

Starten Sie Munin neu, um die neue Konfiguration zu laden.

service munin-node restart
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.