Monitoring mit SNMP und MRTG Teil 2/2

  • Monitoring mit SNMP und MRTG Teil 2/2
    (Zurück zum Inhaltsverzeichnis)
    Beginnen wir mit der Einrichtung von MRTG auf dem Server, Vorausetzung ist hier, das SNMP bereits installiert wurde.

    Installation
    Paketdatenbank aktualisieren und MRTG installieren:

    Code
    sudo apt-get update
    sudo apt-get install mrtg


    Danach mit

    Code
    sudo mv /etc/mrtg.conf /etc/mrtg.conf.ori


    erstmal die Originaldatei sichern.
    Da ich z.Z. ca. 30 Geräte überwache, habe ich die Vorgehensweise "etwas" geändert.
    Daher erfolgt ab hier meine Art MRTG zu modular konfigurieren. Hintergrund ist,
    das viele Anwendungen gleich sind und ich keine Lust habe bei einer Änderung 30 Dateien zu editieren.
    Meistens bleibt es dann bei einer Datei.
    Das setzt allerdings voraus, das jedes Gerät einen eigenen Ordner (WorkDir) auf dem Webserver erhält. Dazu später mehr.
    Die "Grundausstattung" ist bei fast allen Geräten gleich:

    Code
    CPU-Load 1/5min
     CPU-Temperatur
     RAM-Speicheraufteilung
     Netzwerktraffic


    Dazu wird noch eine Übersichtsseite erstellt, damit man die Geräte auch wiederfindet

    Konfiguration

    Code
    sudo mkdir /etc/mrtg/


    Dorthinein kommt das erste Steuer-File für mrtg:

    Code
    sudo vi /etc/mrtg/raspi02_mrtg.cfg


    mit dem Inhalt:


    Hier stehen fast nur noch die Informationen, die den entsprechenden Client betreffen,
    alles was man nochmal gebrauchen kann steht jetzt in den Include-Dateien.
    Das hat den Vorteil, wenn man etwas ändern will/muß, braucht man nur eine Datei anpassen.

    Die Include-Dateien
    Diese legt das grundsätzliche Aussehen für alle Diagramme fest.

    Code
    /etc/mrtg/Global.inc

    Speziell für CPU-Load (Und nicht nur für Raspberrys) ausgelegt

    Code
    /etc/mrtg/CPU-Load_Jessie.inc

    Hier wird das Script für die CPU-Temperatur ausgewertet

    Code
    /etc/mrtg/raspi-CPU-temp.inc

    Die Auswertung des RAM-Speichers

    Code
    /etc/mrtg/raspi-MEM.inc

    Die Diagramme haben eine dynamische Anpassung bis "AbsMax". Alles was darüber hinausgeht wird gekappt.

    Das Arbeitsverzeichniss und das Index-File
    Nun muss das Arbeitsverzeichnis (für jedes Gerät) angelegt werden:

    Code
    sudo mkdir /var/www/mrtg/raspi02


    Dann das Index-File erstellen:

    Code
    sudo indexmaker --output=/var/www/mrtg/raspi02/index.html /etc/mrtg/raspi02_mrtg.cfg


    Damit mrtg die Diagramme füllen kann, müssen noch zwei Files geändert bzw. erstellt werden:

    Code
    sudo vi /etc/cron.d/mrtg


    Dort wird die ursprüngliche Zeile auskommentiert und dafür diese Zeile eingefügt:

    Code
    */5 *  * * *   root    if [ -x /usr/local/bin/MRTG ] ; then /usr/local/bin/MRTG ; fi


    Das nächste File ruft dann wirklich MRTG auf:

    Code
    sudo vi /usr/local/bin/MRTG


    Mit dem Inhalt:

    Code
    #! /bin/bash
    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg/raspi02_mrtg.cfg ] && [ -d "$(grep '^[[:space:]]*[^#]*[[:space:]]*WorkDir' /etc/mrtg/raspi02_mrtg.cfg | awk '{ print $NF }')" ]; then env LANG=C /usr/bin/mrtg /etc/mrtg/raspi02_mrtg.cfg 2>&1 | tee -a /var/log/mrtg/raspi02_mrtg.log ; fi


    Dann noch ausführbar machen:

    Code
    sudo chmod 0755 /usr/local/bin/MRTG


    Warum?
    Wenn mehrere (bei mir ca. 30) Clients abgefragt werden, startet crontab die Abfragen parallel, und dann geht der Raspberry alle 5 min in die Knie.
    Das ist ungefähr so als wenn Dir Haggrid (aus Harry Potter) alle 5 min mehrmals wohlwollend auf die Schulter klopft.
    So aber werden bei dieser Vorgehensweise alle Clients nacheinander abgefragt, das verteilt die Last auf einen längeren Zeitraum.
    Bei einem weiteren Client einfach die Zeile kopieren und den Rechnernamensteil austauschen (Ja, ich weiß, es geht auch eleganter).
    Jetzt sollte nach etwa 10 bis 15 min die ersten Werte erscheinen.

    Weil ich ein bißchen faul bin erstelle ich noch noch eine einfache Übersichtsseite:

    Wie man sieht, ist raspi03 bis raspi05 bereits vorbereitet, aber noch auskommentiert.

    Edit: Fiptehler und zusätzliche Links

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!