Wenn man einen Server betreibt – und sei es nur ein Raspberry Pi – dann interessiert man sich wahrscheinlich auch dafür wie dieser ausgelastet ist und ob alle Dienste durchgehend funktionieren. Wo Tools wie Grafana oder Munin übertrieben sind, kann Monitorix punkten.

Monitorix ist Open Source, die Entwicklung des Projekts kann man auf Github verfolgen. Fertige Installationspakete für die gängigen Distributionen findet man auf der Downloadseite des Projekts. Seit Buster ist Monitorix auch in den Debian Paketquellen enthalten und kann damit auch auf dem Raspberry Pi mit Raspbian mit einem einfachen sudo apt install monitorix installiert werden.

Monitorix ist in Perl geschrieben und bringt seinen eigenen Webserver mit, der standardmäßig über Port 8080 unter http://localhost:8080/monitorix erreichbar ist und optional mit einem Passwortschutz versehen werden kann.

Für die schnelle Installation und Einrichtung eines Monitoringtools auf dem Homeserver oder Raspberry Pi ist das sicher eine brauchbare Lösung. Wer dem eingebauten Webserver nicht traut, der kann Monitorx auch über einen der bekannten Webserver erreichbar machen.

Apache und lighthttpd können mit mod_cgi den Perl-Code von Monitorix direkt ausführen. Vorschläge für eine entsprechende Serverkonfiguration liefert Monitorix im docs-Verzeichnis mit.

Alternativ kann man Apache oder Nginx als Proxy vor den eingebauten Webserver schalten. Den Zugriff auf den eingebauten Webserver sollte man dann in der Konfigurationsdatei unter /etc/monitorix/monitorix.conf auf die lokale IP-Adresse beschränken und/oder den Zugriff von außen durch Firewallregeln verbieten.

Untenstehende Konfiguration verwende ich um einen NGINX als Proxy vor den Monitorix-Webserver zu setzen und den Zugang mit einem Passwort zu sichern.

    ## Monitorix start
    location /monitorix {
        auth_basic "Restricted";
        auth_basic_user_file /path/to/auth-basic/monitorix.htpasswd;

        include proxy_params;
        proxy_pass              http://127.0.0.1:8080/monitorix;
        allow           127.0.0.0/8;

    location ~ ^/monitorix/(.+\.png)$ {
        alias /var/lib/monitorix/www/$1;
        }
    }
    ## Monitorix end

Monitorix sammelt aus einer Vielzahl an Quellen Daten und bereitet diese zu ansprechenden Graphen auf. Die Liste der unterstützten Datenquellen kann man auf der Webseite unter Features ansehen, die Liste ist wirklich sehr lang. So unterstützt Monitorix auch das Auswerten verschiedener Raspberry Pi Sensoren und kann so u.a. den Verlauf der Kerntemperatur und Taktfrequenz auswerten. Teilweise müssen diese aber erst in der Konfigurationsdatei aktiviert werden.

Auch das Erstellen von Emailreports und Alarmmeldungen, wenn z.B. die load average einen bestimmten Wert übersteigt oder der Speicherplatz zu Neige geht. Natürlich stößt ein ausschließlich lokal installiertes Monitoringtool hier an seine Grenzen. Fällt das System aus, kann es auch keine Warnungen mehr versenden, so dass der Ausfall im Zweifel unbemerkt bleibt.

Wenn man aber bestimmte Daten wie z.B. die Systemauslastung, die Zugriffe auf Webserver und Datenbank im Tagesverlauf visualisieren möchte, ist Monitorix eine Lösung die schnell installiert und eingerichtet ist.

Monitorix Grafiken

3 Comments

  1. Mich würde mal interessieren, wo hier der Vorteil/Nachteil gegenüber Netdata liegen könnte.