In den letzten zwei Blogeinträgen haben wir uns mit dem Thema Serverauslastung beschäftigt. Die dazu notwendigen Linux Befehle geben einen guten Überblick über die Serverauslastung zum aktuellen Zeitpunkt. Wenn Sie aber Ihren Server über einen längeren Zeitraum beobachten wollen, so kommen Sie mit den vorgestellten Methoden nicht sehr weit.
Deshalb wollen heute wir das Ganze mal auf einen anderen Level heben :).
Das Zauberwort heisst Server-Monitoring oder ganz allgemein Netzwerk-Management und es gibt zahlreiche Programme für ebenso zahlreiche Einsatzzwecke. Allein im Open Source Segment gibt es beispielsweise die Programme BigSister, Cacti, Icinga, Multi Router Traffic Grapher, Munin, Nagios, OpenNMS, Opsview, Op5 Monitor, Xymon, Zabbix und Zenoss.
Wir wollen uns in diesem Artikel exemplarisch mit Munin beschäftigen.
Der Ursprung vieler Progamme ist der Multi Router Traffic Grapher (MRTG), der HTML-Seiten erzeugt, die Grafiken enthalten. Mit Hilfe von MRTG kann so ziemlich jede Reihe von Zahlen visualisiert werden („von der Temperatur im Serverraum bis zur Anzahl der eigehenden SPAM-Mails“).
Das RRDtool bietet ein clevere Methode um Daten zu sammeln. RRD steht für Round Robin Database. Round Robin lässt sich im Deutschen mit „Rundlauf-Verfahren“ übersetzen. In unserem Fall wird eine Datenbank mit einer festen Grösse und für eine feststehende Zeitspanne angelegt (RRD-Datei). Wenn die Zeitspanne vorbei ist, wird die Datei nicht vergrössert, sondern die ältesten Einräge werden gelöscht. Man kann also beispielsweise die Daten der letzten Tage alle 5 Minuten speichern, die der letzten Monate alle 30 Minuten und die der letzten Jahre alle 6 Stunden.
Munin nutzt RRDtool zum Sammeln von Daten und besteht aus einem Server und beliebig vielen Clients. Wenn Sie nur einen Server überwachen wollen, liegen Client und Server auf einer Maschine.
In unserem Fall nutzen wir den Apache2 Webserver unter Ubuntu 14.04, Munin funktioniert aber auch mit anderen Webservern wie beispielsweise Nginx.
Installation
Zunächst muss das Paket Munin installiert werden
sudo apt-get install munin
Konfiguration
Munin muss die HTML-Dateien erzeugen, in einem Verzeichnis ablegen und der Webserver Apache muss die Seiten bei Bedarf ausliefern. Da alle Websites auf unserem Server im Verzeichnis /var/www/[domainname] liegen, werde ich die Konfigurationsdatei /etc/munin/munin.conf und die /etc/munin/apache.conf entsprechend anpassen.
sudo nano /etc/munin/munin.conf
Entfernen Sie das Kommentarzeichen # für die folgenden vier Zeilen und ändern Sie den Pfad des htlmdir .
dbdir /var/lib/munin htmldir /var/www/munin/ logdir /var/log/munin rundir /var/run/munin
Entfernen Sie ebenfalls das Kommentarzeichen für die Zeile
tmpldir /etc/munin/templates
Am Ende der Konfigurationsdatei müssen Sie noch einen Namen für den munin Dienst festlegen. Wenn Sie nur einen Server überwachen, können Sie die IP-Adresse 127.0.0.1 stehen lassen, wenn Sie mehrere Maschinen überwachen wollen, müssen Sie die IP-Adresse Ihres Servers hier eintragen.
# a simple host tree [NOVATREND-Serverblogger-Munin] address 127.0.0.1 use_node_name yes
Als nächstes müssen Sie das Verzeichnis /var/www/munin erstellen und den Benutzer munin zum Eigentümer machen.
sudo mkdir /var/www/munin sudo chown munin:munin /var/www/munin
Dann müssen Sie in der /etc/munin/apache.conf noch ein paar Änderungen vornehmen:
sudo nano /etc/munin/apache.conf
Ändern Sie dem Pfad im Alias und im Directory Container und das Allow Kommando.
Alias /munin /var/www/munin <Directory /var/www/munin> Order allow,deny #Allow from localhost 127.0.0.0/8 ::1 Allow from all Options None ...
Nun können Sie den munin-node Client (der mitinstalliert wurde) und den Apache Webserver neu starten.
sudo service munin-node restart sudo service apache2 restart
Wenn Sie in Ihrem Browser Ihre IP-Adresse oder einen auf Ihren Server zeigenden Domainamen eingeben, gefolgt von /munin sollte Sie die generierten HTML-Seiten mit den Auswertungen sehen. Es kann sein, dass es fünf Minuten braucht, bis die HTML Dateien erstellt sind.
In meinem Fall ist die URL https://serverblogger.ch/munin und das Ergebnis sieht so aus (Benutzer: serverblogger, Passwort serverblogger):

Die wichtigsten Antworten auf Fragen der Systemauslastung finden Sie in den Kategorien system und disk.
Zugriff schützen
Nun soll ja vermutlich nicht jeder Ihre Auswertungen sehen und darum ist in den Munin/Apache Konfigurationsdateien bereits ein Verzeichnisschutz vorbereitet. Damit das funktioniert, müssen Sie das Paket apache2-utils installieren.
sudo apt-get install apache2-utils
Nach der Installation ist es möglich, eine Datei zu erstellen, die eine Benutzer/Passwort Kombination enthält, die beim Aufruf der Munin Seiten abgefragt wird. Die Datei wird mit dem folgenden Befehl erzeugt.
sudo htpasswd -c /etc/munin/munin-htpasswd serverblogger
Als Benutzernamen und Passwort wähle ich serverblogger.
In der Konfigurationsdatei für den Apache
sudo nano /etc/munin/apache.conf
müssen noch die entsprechenden Befehle auskommentiert werden.
AuthUserFile /etc/munin/munin-htpasswd AuthName "NOVATREND Serverblogger Munin" AuthType Basic require valid-user
Nun sind Ihre Daten geschützt und nur mit der Benutzername/Passwort Kombination einsehbar.
https://serverblogger.ch/munin
Munin kann durch viele Plugins erweitert werden, beispielsweise für Apache und MySQL, aber auch für Content Management Systeme wie Drupal oder das bereits angesprochene Raspberry Pi Temperatur Plugin für die Temperatur im Serverraum oder im Gartenbeet 🙂
Links
- Website http://munin-monitoring.org/
- Plugin Übersicht http://gallery.munin-monitoring.org/index.html
- Drupal Modul http://www.drupal.org/project/munin
- WordPress Plugin http://zeldor.biz/2011/06/wordpress-munin-plugin/
- Raspberry Pi: http://blog.joergboesche.de/raspberry-pi-sensors-fuer-temperatur-taktfre…
tl;dr: Munin visualisert fast alles und bringt Erkenntnis und Farbe in den Administratoren-Alltag
Schreibe einen Kommentar