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

Serverüberwachung Mit munin Und monit Auf Debian Wheezy

Serverüberwachung Mit munin Und monit Auf Debian Wheezy

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

In diesem Artikel werde ich beschreiben, wie Sie Ihren Debian Wheezy-Server mit munin und monit überwachen können. munin erzeugt nette kleine Grafiken über nahezu jeden Aspekt Ihres Servers (Durchschnittslast, 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 Ihnen helfen, aktuelle oder bevorstehende Probleme zu erkennen (wie “Wir brauchen bald einen größeren Server, unsere Durchschnittslast 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 Wheezy geschrieben, aber die Konfiguration sollte auch auf andere Distributionen mit wenigen Änderungen anwendbar sein.

Ich möchte zuerst 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.

2 Installieren Und Konfigurieren Von munin

Um munin auf Debian Wheezy zu installieren, tun wir dies:

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

Aktivieren Sie einige zusätzliche 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

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

vi /etc/munin/munin.conf

| # Beispielkonfigurationsdatei für Munin, generiert von 'make build' # Die nächsten drei Variablen geben an, wo sich die RRD # Datenbanken, die HTML-Ausgabe, Protokolle und die Lock/PID-Dateien befinden. Sie müssen alle # vom Benutzer, der munin-cron ausführt, beschreibbar sein. 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 vom # cgi-Benutzer (normalerweise nobody oder httpd) beschreibbar sein müssen. # # 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/apache2/conf.d/munin finden (die tatsächlich ein Symlink zu /etc/munin/apache.conf ist) - sie definiert ein Alias namens munin für das HTML-Ausgabeverzeichnis von munin /var/cache/munin/www, was bedeutet, dass wir munin von allen Websites auf diesem Server über den relativen Pfad /munin (z.B. http://www.example.com/munin) aufrufen können.

Stellen Sie sicher, dass Sie die Zeile Allow from localhost 127.0.0.0/8 ::1 auskommentieren und stattdessen Allow from all hinzufügen (ansonsten können Sie die munin-Ausgabe nur von localhost aus aufrufen):

vi /etc/apache2/conf.d/munin

| # Aktivieren Sie dies für die Vorlagenerstellung Alias /munin /var/cache/munin/www # Aktivieren Sie dies für cgi-basierte Vorlagen #Alias /munin-cgi/static /var/cache/munin/www/static #ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html # # Order allow,deny # Allow from localhost 127.0.0.0/8 ::1 # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Order allow,deny #Allow from localhost 127.0.0.0/8 ::1 Allow from all Options None # Diese Datei kann als .htaccess-Datei oder als Teil Ihrer Apache # Konfigurationsdatei verwendet werden. # # Damit die .htaccess-Datei funktioniert, muss das munin-www-Verzeichnis # (/var/cache/munin/www) "AllowOverride all" oder etwas # Ähnliches gesetzt haben. # # AuthUserFile /etc/munin/munin-htpasswd # AuthName "Munin" # AuthType Basic # require valid-user # Dieser nächste Teil erfordert, dass mod_expires aktiviert ist. # # Setzen Sie die Standardablaufzeit für Dateien auf 5 Minuten und 10 Sekunden ab # ihrer Erstellung (Änderungszeit). Es gibt wahrscheinlich neue Dateien bis # zu diesem Zeitpunkt. # ExpiresActive On ExpiresDefault M310 [...] |

Starten Sie Apache neu:

/etc/init.d/apache2 restart

Starten Sie dann munin neu:

/etc/init.d/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. Nach ein paar Tagen könnte dies so aussehen:

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

3 Passwortschutz Für Das munin-Ausgabeverzeichnis (Optional)

Jetzt ist es eine gute Idee, das munin-Ausgabeverzeichnis passwortgeschützt zu machen, 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/apache2/conf.d/munin…

vi /etc/apache2/conf.d/munin

… und kommentieren Sie den folgenden Abschnitt aus:

| [...] AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user [...] |

Starten Sie dann Apache neu:

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.