Grundinstallation
Die freie Software Munin ist ein Werkzeug zur Überwachung von Rechnern in einem Rechnernetzwerk mit Status- und Prozess-Visualisierung. Mit Munin kann man sich sämtliche Vitalfunktionen seines Servers anzeigen lassen die es so gibt. Sogar die Anzahl gesperrter externer Hosts die allzu häufig versuchten per SSH in den Rechner einzudringen. Alle Graphen sind dann per Web Zugriff erreichbar und können so von jedem beliebigen Punkt der Erde eingesehen werden.
Debian 10 liefert Munin standardmässig im Repository als virtuelles Paket aus. Ich habe Munin mit Synaptic installiert und dabei werden etliche Abhängigkeiten mit installiert.
Nach der Installation läuft im System ein Daemon mit dem Namen munin-node
der aktiv und running ist und ein zweiter Daemon munin
der auch aktiv aber beendet ist.
Nach der Installation aus dem Debian 10 Repository muß dann allerdings noch etwas Hand angelegt werden, denn der Web-Bereich in dem Munin residiert ist zunächst leider nur vom localhost aufrufbar und zudem noch ohne Paßwortschutz. Ergo, wir benötigen eine .htaccess
Datei im Web-Wurzelverzeichnis von Munin /var/cache/munin/www
und eine Passwortdatei .htpasswd.
Externer Zugriff mit Passwortschutz
Im Verzeichnis /etc/munin
befindet sich die Konfigurationsdatei apache24.conf
die wie folgt geändert werden muß damit die Datei .htaccess
Wirkung entfalten kann:
root@Fliegerhost:/etc/munin# cat apache24.conf # Munin configuration for apache2 # # Apache can serve munin's files that are either statically generated # (in a cron job) or generated on demand (via cgi). # The relevant munin settings are "html_strategy" and "graph_strategy". # The related apache settings can be adjusted at the end of this file. # # See /usr/share/doc/munin/README.Debian for details. # ***** COMMON SETTINGS FOR ALL STRATEGIES ***** ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph Alias /munin/static/ /var/cache/munin/www/static/ <Directory /var/cache/munin/www> AllowOverride All # <--- hier einfügen Require all denied # <--- "Require local" ersetzen Options None </Directory> <Directory /usr/lib/munin/cgi> AllowOverride All # <--- "Require local" ersetzen <IfModule mod_fcgid.c> SetHandler fcgid-script </IfModule> <IfModule !mod_fcgid.c> SetHandler cgi-script </IfModule> </Directory> # ***** SETTINGS FOR CGI/CRON STRATEGIES ***** # pick _one_ of the following lines depending on your "html_strategy" # html_strategy: cron (default) Alias /munin /var/cache/munin/www # html_strategy: cgi (requires the apache module "cgid" or "fcgid") #ScriptAlias /munin /usr/lib/munin/cgi/munin-cgi-html root@Fliegerhost:/etc/munin#
Im Verzeichnis /var/cache/munin/www
fügen wir die Datei .htaccess
mit folgendem Inhalt ein:
root@Fliegerhost:/var/cache/munin/www# cat .htaccess # .htaccess-Datei für Passwortschutz AuthType Basic AuthName "Geschützter Bereich - Bitte geben Sie ein Passwort ein!" AuthUserFile /etc/munin/.htpasswd Require valid-user root@Fliegerhost:/var/cache/munin/www#
In dieser Datei ist auch der Standort für die Passwortdatei .htpasswd gespeichert die ich dann einfach im Verzeichnis /etc/munin/ platziert habe. Diese Datei muß jedoch noch generiert werden. Dazu gibt es extra ein Tool das der Apache2 Web-Server mitliefert: htpasswd
. Die Datei wird mit folgender Befehlszeile generiert (als user hier natürlich den richtigen Nutzer eintragen):
root@Fliegerhost:/etc/munin# htpasswd -B -c .htpasswd user New password: Re-type new password: Adding password for user user root@Fliegerhost:/etc/munin#
Nach einem Restart des Daemons munin-node
sollte nun die Webseite mit den Graphen aufrufbar sein und vorher ein Passwort verlangen.
Aktivieren des dynamischen Zooms
Damit ist die Arbeit allerdings immer noch nicht getan, denn ich habe bemerkt dass in der Standardinstallation der dynamische Zoom in der Einzelansicht der Graphen leider nicht funktioniert. Nach längerer Suche habe ich dann aber auch den Grund dafür heraus gefunden: Es muß in Apache2 noch das Modul cgid
aktiviert werden. Das Modul wird mit folgendem Befehl aktiviert:
root@Fliegerhost:/etc/apache2# a2enmod cgid
Dann nochmal den Daemon munin-node
starten und der dynamische Zoom sollte funktionieren.