Server-Statistik unter Debian mit Munin

Heute mal ein kleines Tutorial für Serverbesitzer. Mein favorisiertes Serverbetriebssystem ist seit einiger Zeit Debian. Die Einrichtung eines typischen LAMP-Server (Linux, Apache, MySQL, PHP) gestaltet sich dabei recht bequem – gewisse Linuxgrundkenntnisse natürlich vorausgesetzt. Eines der wichtigen Elemente beim Betrieb eines Server ist es die Performance-Daten im Blick zu behalten um rechtzeitig durch Tuningmaßnahmen oder Hardwareerweiterungen eingreifen zu können.

Es gibt einige Tools dafür: MRTG, Cacti, HoTsAnIc und auch Munin. Ich habe mich für die Überwachung der wichtigsten Eckdaten via Munin entschlossen, da mir die Einrichtung von Cacti einfach zu komplex und kompliziert war. Bei Munin verläuft die Installation und Einrichtung unter Debian kinderleicht und ist in wenigen Minuten fertig. Ein Vorteil von Munin ist außerdem, dass die Statistiken mehrerer Server an einem Platz gesammelt und dargestellt werden können.

Ich erkläre hier in Kurzform die Installation eines Master-Servers und eines Clients inklusive der Basiskonfiguration um die Daten des Clients auf dem Server darzustellen.

1. Installation und Konfiguration der Pakete auf dem Master-Server

sudo apt-get install munin munin-node

Munin stellt das Hauptpaket dar, dass sich unter anderem darum kümmert die HTML-Seiten und Graphen zu erstellen. Munin-Node ist der Agent, der die Daten abfrägt. Durch die Installation werden automatisch auch die zugehörigen Cronjobs eingerichtet. Alles was zur Erfassung der lokalen Performancedaten nun noch geschehen muss, ist die Einstellung des Verzeichnisses, in das die html-Dateien und Graphen abgelegt werden sollen:

sudo vim /etc/munin/munin.conf

Hinweis: „sudo“ ist in einer Standard-Debian-Installation nicht nötig. Es dient auf meinen Servern lediglich der erhöhten Sicherheit. Infos dazu – wie so oft – bei der Wikipedia.


# The next three variables specifies where the location of the RRD
# databases, the HTML output, and the logs, severally. They all
# must be writable by the user running munin-cron.
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin

Der Wert hinter htmldir muss entsprechend den eigenen Wünschen angepasst werden. Das speichern der Datei reicht aus um nach spätestens 5 Minuten (Standard-Zeitspanne des installierten Cronjobs) das Ergebnis im entsprechenden Verzeichnis zu sehen (richtige Rechtevergabe vorausgesetzt).

2. Installation eines Munin-Clients auf einem anderen Server

Hier läuft das ganze ähnlich ab, wir benötigen aber nur das munin-node Paket.

sudo apt-get install munin-node

Danach muss in der Datei /etc/munin/munin-node.conf die IP-Adresse des anderen Servers für den Zugriff freigeschalten werden:

sudo vim /etc/munin/munin-node.conf


# A list of addresses that are allowed to connect. This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation. You may repeat
# the allow line as many times as you'd like

allow ^127\.0\.0\.1$

Hier einfach die letzte Zeile kopieren und die eigene IP-Adresse entsprechend eintragen. Wichtig ist, dass die Escape-Zeichen entsprechend beinhaltet sind, damit die IP-Adresse für Munin lesbar bleibt.

Der Munin-Node-Agent muss nach den Änderung neu gestartet werden:

sudo /etc/init.d/munin-node restart

Zum Schluß müssen wir jetzt noch den neuen Client auf dem Master-Server eintragen, damit der weiß, dass er die Daten von dort abfragen soll:

sudo vim /etc/munin/munin.conf


# a simple host tree
[srv01.meinserver.tu]
address 127.0.0.1
use_node_name yes

[srv02.meinserver.tu]
address 123.123.123.123
use_node_name yes

Der erste Eintrag ist normalerweise mit localhost.localdomain beschriftet, und kann nach Wunsch hier entsprechend angepasst werden. Für den zweiten Eintrag kopieren wir einfach den ersten und ändern Name und IP-Adresse.

Das war’s. Wenn alle Rechte stimmen und Ports verfügbar sind, wird bei jedem Cron-Run (Standard: 5-Minuten-Takt) auch der zweite Server abgefragt. Diese Abfrage passiert bei den Standardeinstellungen via Port 4949. Über einen Test von Master zu Client kann also schnell getestet werden ob der Zugriff verfügbar ist:


srv01:/$ telnet srv02.meinserver.de 4949
Trying 123.123.123.123...
Connected to srv02.meinserver.de.
Escape character is '^]'.
# munin node at srv02.meinserver.de

Über einige eingebaute Befehle können direkt zum Test ein paar Werte abgegriffen werden. Die Befehle lauten: list, nodes, config, fetch, version und quit..

Das war’s mit einer Grundkonfiguration zur grafischen Auswertung von Performancedaten. Erfasst werden in der Default-Installation schon jede Menge Daten: Netzwerktraffic, Load, CPU, Memory, MySQL Queries, etc. pp.

Wenn jemand sich die Mühe macht und eine erweiterte Konfiguration bastelt die noch mehr Daten erfasst, würde ich mich über einen Hinweis in den Kommentaren freuen. Ich werde dann später gerne nochmal eine Fortsetzung schreiben und auf entsprechende weiterführende Tutorials verweisen.

Weitere Infos, Dokumentationen und Tutorials zu Munin gibt’s auf der Homepage unter http://munin-monitoring.org/

Ähnliche Beiträge

  • AVM Fritz! USB Stick unter Linux

    Wieder mal ein kleiner aha-Erfolg unter Linux, mit dem ich selbst nicht gerechnet habe. Seit Ubuntu bei mir regelmässig (seit gut einem Jahr) bzw. in Vollzeitanstellung (seit Anfang diesen Jahres) läuft, habe ich schon so allerhand erlebt. Die Erfahrungen waren dabei fast durchweg positiv. Einziger immer wiederkeherender Knackpunkt war WLAN auf meinen beiden – nicht…

  • iWork 08 oder nicht?

    Ich benötige wirklich wenig Office-Tools – und die nicht oft. Mit Word und Excel bzw. den Pendants aus OpenOffice ist schon alles wichtige erschlagen und das auch nur selten und eher als wenig Anspruchsvoller Anwender. Dennoch ist mir gerade iWork 08 vor die Füße gefallen und ich zieh mir gerade die Testversion. Die Mac-User unter…

  • Typo3: Blick über den Tellerrand – oder mehr?

    Regelmäßige Leser dieses Blogs und unter ihnen vor allem diejenigen, die schon etwas länger hier lesen werden wissen, dass mich in den letzten Monaten und Jahren primär zwei Content-Management-Systeme (CMS) bei meiner Arbeit und meinen privaten Projekten begleitet haben: WordPress und Drupal. Ich arbeite mittlerweile recht ausgeglichen mit beiden Systemen – ich glaube sagen zu…

  • Recht hat er, der Jochen

    Man mag über so manche politische Geschichte geteilter Meinung sein – das ist auch gut so. Was die Abschaffung des Olympiaschutzgesetzes angeht, kann ich aber nicht glauben dass es nicht noch mehr Leute gibt, die dafür sind. Nochmal zum nachlesen für nicht informierte: Klick! Die virtuelle Unterzeichnung der Petition dauert übrigens nicht länger als 2…

8 Kommentare

  1. danke für den Artikel, ich habe schon einige Monitoringtools getestet, aber keines funktionierte bisher so problemlos.
    Innerhalb von 5 Minuten läuft und arbeitet munin auf meinem vserver.

  2. Erstmal vielen Dank für das Tutorial! Bis jetzt habe ich nur MRTG im Einsatz gesehen was schon sehr beeindrucken ist. Hast du vielleicht einen Screenshot von den HTML Ausgabe (Graphen) die Munin erstellt?

  3. Pingback: Munin Einrichtung unter Debian erklärt | Server-Monitoring-Blog.de
  4. Pingback: This RRD was created on other architecture » Frank Helmschrott
  5. Ich habe Munin gerade mal installiert. Im Moment ist auf den Grafiken noch nichts zu sehen. Wie lange dauer das in etwa?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert