Server-Statistik mit Munin (Debian)
Heute gibt es ein sehr kurzes, aber umso nützliches Tutorial ...
Es geht darum eine Server-Statistik bzw. Server-Überwachung einzurichten, um seinen Server und dessen Performance stets im Blick zu haben. Dadurch kann man Auslastungs-Spitzen ausfindig machen und ggf. vor Auftreten von Problemen reagieren.
Für diese Aufgabe gibt es einige Tools im Netz, allerdings finde ich das Munin gerade durch seine sehr einfache Installation und Übersichtlichkeit alles andere in den Schatten stellt.
Ich setzte Munin selbst ein, allerdings unter OpenSuse was zur Folge hat das ich nicht alle Funktionen zur Verfügung stehen. Meine Statistik findet ihr unter http://stats.migges.net
Zur eigentlichen Installation:
Code:
apt-get install munin munin-node
Munin stellt das Hauptpaket dar und kümmert sich um die Erstellung die HTML-Seiten inklusive Graphen. Munin-Node ist der dazu gehörige Agent, der die einzelnen Systemwerte abfragt. Durch die Installation werden automatisch alle benötigten Cronjobs eingerichtet, was das Ganze noch weiter vereinfacht. Alles was zur Erfassung der lokalen Performance-Daten nun noch getan werden muss, ist die Einstellung des Verzeichnisses, in das die html-Dateien und Graphen abgelegt werden sollen:
Code:
nano /etc/munin/munin.conf
# 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
Im Prinzip sollte es reichen, wenn man den Parameter htmldir gemäß seinen Wünschen anpasst und somit festlegt in welchen Ordner die html-Dateien exportiert werden sollen. Munin sollte nun nach den ersten 5 Minuten alle Dateien erstellt haben und diese alle weitere 5 Minuten aktualisieren.
--
Wenn man nun noch einen zusätzlichen Server überwachen will, muss man lediglich den Agent (munin-node) auf dem zu überwachenden Server installieren und konfigurieren.
Code:
apt-get install munin-node
nano /etc/munin/munin-node.conf
127.0.0.1 durch die IP des Munin-Master-Servers ersetzen, der die Daten sammeln soll. Achtung: Sonderzeichen beibehalten ...
# 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 likeallow ^127\.0\.0\.1$
Agent neu starten ...
Code:
/etc/init.d/munin-node restart
... und dem Master-Server konfigurieren.
Code:
nano /etc/munin/munin.conf
# a simple host tree
[srv01.deinserver.de]
address 127.0.0.1
use_node_name yes[srv02.deinserver.de]
address 123.123.123.123
use_node_name yes
Der erste Eintrag beschreibt den Master selber, er überwacht sich somit selber.Der zweite Eintrag ist unserer Slave-Server der überwacht werden soll, hier ist natürlich die richtige IP einzusetzen.
Wenn nun 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:
Code:
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
Mit den Befehlen list, nodes, config, fetch und version lassen sich gleich ein paar Werte zum Test abfragen. Wenn alle test erfolgreich waren verlassen wir die session mit quit ...
Weitere Dokumentationen, Infos und Tutorials zu Munin gibt es unter http://munin.projects.linpro.no/
April 22nd, 2010
Danke für das Tutorial! Bin eben erst auf munin gestoßen und konnte scheinbar problemlos mit deiner hilfe installieren.
April 22nd, 2010
Das höre ich gerne