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
    1. sudo apt-get update
    2. sudo apt-get install mrtg


    Danach mit

    Code
    1. 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
    1. CPU-Load 1/5min
    2. CPU-Temperatur
    3. RAM-Speicheraufteilung
    4. Netzwerktraffic


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


    Konfiguration

    Code
    1. sudo mkdir /etc/mrtg/


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

    Code
    1. 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
    1. /etc/mrtg/Global.inc



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

    Code
    1. /etc/mrtg/CPU-Load_Jessie.inc



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

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



    Die Auswertung des RAM-Speichers

    Code
    1. /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
    1. sudo mkdir /var/www/mrtg/raspi02


    Dann das Index-File erstellen:

    Code
    1. 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
    1. sudo vi /etc/cron.d/mrtg


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

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


    Das nächste File ruft dann wirklich MRTG auf:

    Code
    1. sudo vi /usr/local/bin/MRTG


    Mit dem Inhalt:

    Code
    1. #! /bin/bash
    2. 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
    1. 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

    Jahrelang wurde gesagt: Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wusste das nicht, und hat es dann einfach gemacht.

    Meine Projekte

    Avatar


    Edited 2 times, last by Jürgen Böhm ().