Linux Server überwachen mit Munin
Saturday, September 20th, 2008Munin ist eine Software zur Überwachung und graphischen Visualisierung der verschiedensten Server-Dienste und Systemleistungen unter Linux.
Am einfachsten bekommt man wohl anhand eines Screenshots einen Eindruck von den Möglichkeiten, die diese Software zur Serverüberwachung bietet.
Ja, ich weiß…
Die Grafiken zeichnen z.B. den Systemload, den genutzten Plattenplatz oder den Speicherverbrauch detailiert mit. Es gibt Graphen für 24h, 1 Woche, 1 Monat und für das zurückliegende Jahr. Weiterhin gibt es eine ganze Reihe von spezialisierten Plugins, die beispielsweise detailiert über die Anzahl der verschiendenen MYSQL-Queries (selct, update, insert) Aufschluß geben.
Diese Daten sind natürlich sehr interessant, um frühzeitig auf aufkommende Probleme reagieren zu können.
Installation von Munin
Die Installation von Munin stellt sich auf Debain oder Ubuntu Systemen denkbar einfach da:
apt-get install munin munin-node
Munin wird unter /etc/munin/ installiert. Nach der Installation muss das Programm noch konfiguriert werden, was sich zum Glück recht einfach gestaltet.
vi /etc/munin/munin.conf
Angepasst werden muss wahrscheinlich vor allem die Variable htmldir, die auf ein bestehendes Verzeichnis verweisen sollte, das natürlich über den Webserver der Maschine erreichbar sein sollte. In diesem Verzeichnis muss der user “munin” der Gruppe “munin” mindestens Schreibrechte haben. Nach dieser Änderung wird der Service neu gestartet.
mkdir -p /var/www/www.example.com/web/monitoring
chown munin:munin /var/www/www.example.com/web/monitoring
/etc/init.d/munin-node restart
Nach einigen Minuten sollten nun über den Browser unter “www.example.com/web/monitoring” die ersten Daten sichtbar werden. In der Standardinstallation aktualisert Munin die Graphen alle 5 Minuten.
Plugins
Die einzelnen Graphen basieren auf den ettlichen Plugins, die es für Munin gibt. Bei der Installation analysiert Munin das System und installiert gleich einige passende Plugins mit. Munin bringt unter “/usr/share/munin/plugins/” einige Plugins mit. Um diese zu aktivieren muss im Verzeichnis “/etc/munin/plugins/” ein symbolischer Link angelegt werden. Empfehlenswert ist zum Beispiel das Plugin “ip_”, das den Netzwerktraffic genauer als das eth0 Plugin darstellen kann:
ln -s /usr/share/munin/plugins/ip_ /etc/munin/plugins/ip_XXX.XXX.XXX.XXX
Dieses Plugin greift auf iptables rules zu. Dazu muss iptables so konfiguriert sein, dass es die Bytes für die einzelnen Netzwerkadapter mitzählt:
iptables -A INPUT -d XXX.XXX.XXX.XXX
iptables -A OUTPUT -s XXX.XXX.XXX.XXX
XXX.XXX.XXX.XXX muss natürlich durch die IP des Servers ersetzt werden.
Einige defaultmässig installierte Plugins erscheinen mir nicht sonderlich interessant, wie das “entropy” Plugin, das irgendwie den Seed für random Funktionen darstellt. Einfach den Link löschen und schon wird es nach dem nächsten Update nicht mehr dargestellt:
rm /etc/munin/plugins/entropy
So kann sich jeder einfach seine maßgeschneiderte Überwachungs-Suite zusammenbasteln. Falls ein Plugin scheinbar nciht funktioniert sollte man einen Blick auf den Quellcode des Plugins werfen. Dort steht meistens ganz oben, welche Bedingungen gegeben sind, damit das Plugin funktioniert und woher es seine Daten bezieht. Das Tomcat Plugin benötigt zum beispiel die Tomcat Manager Applikation, um den Speicherverbrauch etc. des Tomcat Servers anzeigen zu können.



