Tutorial: SNMP Management der VU+ Boxen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Tutorial: SNMP Management der VU+ Boxen

      Mahlzeit!

      Tutorial: SNMP Management der VU+ Boxen - Teil 1 - MRTG

      Am Beispiel eines Raspberry Pi 3 möchte ich hier mal eine "Referenz Installation" einer Management-Lösung aufzeigen. SNMP ist sehr mächtig, leider aber nur wenigen, eingeweihten vertraut. Dieses Tutorial soll eine kleine Hilfestellung geben, um ein SNMP Management für VU+ Boxen (hier am Beispiel einer Solo 4K) aufzubauen. Dieses Tutorial ist eigentlich universell anwendbar, nur weiter unten werde ich auf Besonderheiten der VU+ Boxen eingehen. Neben "net-snmp" verwende ich hier Freeware / Open Source Software.

      Anregungen, Verbesserungsvorschläge, jede Art von Hilfe nehme ich hier gerne entgegen - ich kenne mich auch nicht mit allen hier verwendeten Themen 100%ig aus!

      Was genau möchten und können wir überwachen?

      Netzwerkverkehr
      Die Überwachung der Netzwerkinterfaces ist eigentlich immer der erste und einfachste Schritt. Hier geht es um eine grafische Darstellung des Netzwerkverkehrs auf den vorhandenen (aktiven) Netzwerkadaptern (Ethernet oder WLAN). Auch können wir auf besondere Fehler achten (z.B. CRC Fehler) die uns ganz gut anzeigen können, wie "sauber" unser Netzwerk läuft, ob es eventuell Fehler generiert, etc.
      Prozessorlast
      Hier geht es um eine grafische Darstellung der Prozessorlast (für alle vorhandenen CPUs und Kerne), um so eine Übersicht über die Last auf unserem System zu bekommen. Das kann uns auch aufzeigen, ob wir eventuell Probleme auf dem System haben, die uns sporadisch oder dauernd Probleme bereiten.
      Speicher- / Festplattenauslastung
      Hier geht es um eine grafische Darstellung der Auslastung des Speichers, sei es Festplatte, Flash, Cache, oder anderer Speicher. Hier sollten wir auch gut erkennen können, ob wir momentan (oder in der Zukunft) Probleme mit dem Speicher haben (werden).
      Zukünftig: Temperatur, Sat-Signalstärke, etc.
      Dies ist natürlich interessant, um eventuellen Hitzeschäden vorbeugen zu können. Dies ist inbesondere schwierig, weil sich Hitzeprobleme häufig über eine längere Zeit verschlimmern und schwer zu erkennen sind. Wenn man das aber über längere Zeit aufzeichnet, kann man solche Sachen sehr gut erkennen.
      Auch versuchen wir Grafiken zur Signalstärke (und was sonst noch so interessant ist) erstellen können. Mal sehen, was sich sonst noch so ergibt.

      1. Vorbereitung des Raspberry Pi
      Spoiler anzeigen

      Kurze Definition vorne weg: ich benutze in diesem Text hier einige Beispiel-IP-Adressen, die müsst ihr natürlich entsprechend für eure Umgebung anpassen:
      Gateway (z.B. Fritzbox, die auch Name Server und DHCP Server macht): 192.168.2.1
      VU+ Solo 4K (die wollen wir am Ende sinvoll mit SNMP überwachen): 192.168.2.34
      Raspberry Pi 3 (der hier der SNMP Management Server ist): 192.168.2.7

      Installiert euch vorneweg den SNMP Agenten auf eure VU+ Box (siehe mein anderer Post dazu, mit den Paketen), konfigurieren und starten.

      Ich habe hier einen Raspberry Pi 3 genommen mit einer 16GB SD Karte und dem aktuellen Raspbian (Jessie) als Betriebssystem. Die grundsätziche Einrichtung desselben spare ich mir hier, da gibt es genügend Quellen im Internet. ("Expand Filesystem" per raspi-config nicht vergessen)
      Wichtig für eine Management Station ist es allerdings, eine feste IP Adresse zuzuordnen. So kann man später - so man möchte - auch weitere Sicherheitsmechanismen nutzen (z.B. "welche IP darf mich per SNMP nach Informationen fragen?"). Daher werde ich das hier kurz erläutern:
      1. wie oben besprochen: Raspberry Pi 3 einrichten und get-apt update und apt-get upgrade durchführen
      2. mittels "sudo vi /etc/dhcpcd.conf editieren und folgendes einfügen (am Ende der Datei, oder irgendwo):
        interface eth0
        static ip_address=192.168.2.7
        static routers=192.168.2.1
        static domain_name_servers=192.168.2.1
        (wobei 192.168.2.7 eurer IP Adresse entsprechen muss, die ihr dem Raspi zuordnen möchtet. Die 192.168.2.1 ist im Normalfall die IP Adresse eures DSL Routers, der auch den Name Server macht.
      3. Ich gebe dem Raspi dann noch einen eindeutigen Hostnamen, in meinem Fall wähle ich snmp-mgr-01 für dieses Projekt, durch editieren der Datei /etc/hostname und Neustart.
      4. Ich lege einen User "mrtg" an, der sich um MRTG (unser erstes Management Tool) 'kümmert'. Es gibt sicher auch andere Wege und man kann auch mit dem User "pi" arbeiten, ich habe aber gerne die Dinge sortiert. Also legen wir uns hier einen User "mrtg" folgendermaßen an:
        sudo adduser mrtg
        beantworten einfach alle Fragen mit Enter.
      5. Jetzt müssen wir dem Raspberry "SNMP beibringen". Dazu installieren wir den SNMP Agenten ("snmpd"), die SNMP Tools ("snmp") und ein kleines Tool genannt "mib-downloader", mittels folgendem Kommando:
        sudo apt-get install snmpd snmp mib-downloader
        Jetzt sollten wir einmal den mib-downloader ausführen:
        sudo download-mibs
        Das lädt MIBs in das Verzeichnis /var/lib/snmp/iana und /var/lib/snmp/ietf - dazu später mehr. Dann sollten wir noch den snmpd konfigurieren, dazu die Datei /etc/snmp/snmpd.conf editieren und vor diese beiden Zeilen ein "#" stellen, falls das nicht schon der Fall ist:
        # agentAddress udp:127.0.0.1:161
        # agentAddress udp:127.0.0.1::161
        Und in dieser Zeile das "#" am Anfang löschen:
        agentAddress udp:161,udp6:[::1]:161
        Dadurch sagen wir dem SNMP Agenten, dass er auf SNMP Anfragen von allen "Quellen" hören soll. Wir schalten sozusagen diesen Sicherheitsmechanismus erst einmal aus. Wenn man alles eingerichtet hat, kann man ihn bei Bedarf wieder einschalten. Wo wir schonmal in der Datei sind, ändern wir auch gleich die folgenden Zeilen:
        view systemonly included .1.3.6.1.2.1.1
        view systemonly included .1.3.6.1.2.1.25.1
        in dieses um:
        view systemonly included .1.3.6.1.2.1
        view systemonly included .1.3.6.1.2.1.25
        Wenn wir das nicht tun, dann sagt uns der Agent nichts über die Hardware, Interfaces, CPU, Disks etc. Dies ist auch eine voreingestellte Sicherheitsregel, die ich persönlich ziemlich umsonst finde, aber das ist Geschmackssache. Danach kann die Konfiguration getestet werden. Dazu starten wir den SNMP Agenten mittels sudo /etc/init.d/snmpd start und schauen, ob es Fehler wirft. Dann führen wir auf der Kommandozeile folgenden Befehl aus:
        snmpget -c public -v 1 -M /var/lib/mibs/ietf 192.168.2.34 HOST-RESOURCES-MIB::hrProcessorLoad.196609
        Jetzt können einige Fehler kommen, es sollte aber eine solche Zeile ausgegeben werden:
        HOST-RESOURCES-MIB::hrProcessorLoad.196609 = INTEGER: 1
        Das sagt uns, dass der SNMP Agent auf der VU+ Box läuft, dass das System die MIBs findet, dass wir die SNMP Tools haben und das die Kommunikation zu unserer VU+ Box per SNMP läuft. Perfekt! Jetz kann der Raspberry in den Serverschrank (oder wo immer ihr eure Hardware versteckt), alles weitere erledigen wir per SSH oder Telnet und es kann endlich richtig losgehen!


      2. Webserver installieren
      Spoiler anzeigen

      Für das Bereitstellen der zu erstellenden Informationen brauchen wir noch einen kleinen Webserver. Ich wähle hier mal den "lighttpd". Sicher ist der Raspberry 3 auch schnell genug für einen "richtigen" Apache2 (LAMP Stack), aber lasst uns klein anfangen ;)
      Zu Installation führen wir folgende Schritte aus:
      sudo apt-get install lighttpd
      Reading package lists... Done
      Building dependency tree
      ... ... ...
      Processing triggers for libc-bin ...
      Processing triggers for systemd ...
      Die Installation von lighttpd legt eine Gruppe "www-data" an. Dieser Gruppe geben wir jetzt Schreibrechte auf das /var/www/html Verzeichnis (das "Document Root"), dort wo später unsere per Browser anrufbaren Dateien und Grafiken liegen werden. Dann müssen wir noch dem User mrtg die Gruppe www-data zuordnen (zusätzlich). Das funktioniert folgendermaßen:
      cd /var/www/html
      mkdir mrtg
      sudo chown -R www-data:www-data /var/www/html
      sudo chmod 775 /var/www/html/mrtg
      sudo usermod -a -G www-data mrtg
      Das war es schon. Jetzt sollte der User mrtg im Verzeichnis /var/www/html/mrtg nach Belieben Dateien anlegen und löschen können. Wir können das testen mittels echo "Hallo MRTG!" > /var/www/html/mrtg/index.html (als user mrtg ausführen). Dann per Webbrowser auf http://192.168.2.7/mrtg/ gehen und der Text "Hallo MRTG!" sollte angezeigt werden.


      3. MRTG - Multi Router Traffic Grapher
      Spoiler anzeigen

      Allgemeine Informationen
      MRTG steht für "Multi Router Traffic Grapher". Es ist sozusagen ein Klassiker und ein einfaches Tool um statistische Graphen über Netzwerklast etc. zu erstellen. "Einfach" in dem Sinne, dass es relativ einfach und schnell aufzusetzen ist, einfach aber auch im Sinne von "es hat Limitationen". Aber versuchen wir erst einmal es ans Laufen zu bekommen. Dazu erfolgt wie üblich der Download / die Installation (als user "pi") und dann die Konfiguration (als user "mrtg").
      Installation
      Wir installieren mrtg mittels folgendem Kommando:
      sudo apt-get install mrtg
      Während der Installation kommt evtl. ein Fenster, indem soviel steht wie "Wollen Sie /etc/mrtg.cfg nur für root sichtbar machen?". Diese Frage beantworten wir mit "No", weil wir später noch mit RRD arbeiten wollen.
      Konfiguration
      Jetzt benötigen wir zunächst eine Konfigurations-Datei für MRTG, damit es grundsätzlich weiss, was zu tun ist. Dafür gibt es ein hilfreiches Tool, was sich "cfgmaker" nennt. Wir führen also als User "mrtg" (!!) folgendes aus:
      cd /home/mrtg
      cfgmaker --global 'WorkDir: /var/www/html/mrtg' \
      --global 'Options[_]: bits,growright' \
      --output /home/mrtg/mrtg.cfg public@192.168.2.34
      Das erstellt uns jetzt eine MRTG-Konfigurations-Datei im Home Verzeichnis des Users mrtg. cfgmaker erstellt nur Konfigurationen für die (aktiven) Netzwerkinterfaces, aber das soll uns für den Anfang erst einmal genügen. Als nächstes machen wir mal einen Testlauf dieser Konfiguration. Dazu muss das Gerät (also unsere VU+ Box) SNMP sprechen, es muss also der snmpd laufen! Es werden erste Informationen von der VU+ geholt und die ersten Grafiken erstellt. Das funktioniert folgendermaßen:
      env LANG=C /usr/bin/mrtg /home/mrtg/mrtg.cfg
      Bei mir hat er an dieser Stelle einen Fehler gebracht, das in Zeile 21 der mrtg.cfg Datei ein falsches "Working Directory" (/var/www/mrtg) angegeben sei. Diese Zeile habe ich einfach auskommentiert, sie passt so nicht zu unserer Installation (wir benutzen ja /var/www/html/mrtg). Dann also noch einmal das Kommando env LANG=C /user/bin/mrtg /home/mrtg/mrtg.cfg ausführen, bringt ebenfalls einige Warnings. Die können wir zunächst ignorieren. Wir erstellen jetzt noch mit dem Script "indexmaker" eine index.html, die wir dann im Browser sehen können:
      indexmaker --output=/var/www/html/mrtg/index.html /home/mrtg/mrtg.cfg
      Dann können wir direkt mit dem Browser auf http://192.168.2.7/mrtg/ gehen und wir sollten einen Graphen sehen. Wenn wir auf den Graphen klicken, bring er uns zur nächsten Seite, mit dem Daily, Weekly, Monthly und Yearly Graphen für das Netzwerkinterface unserer VU+. Da ist jetzt noch nicht viel zu sehen, wir müssen MRTG dazu bringen, regelmäßig unsere VU+ abzufragen. Das erreichen wir, indem wir folgendes in die mrtg.cfg eintragen:
      RunAsDaemon: Yes
      Intervall: 5
      Dann noch einmal env LANG=C /usr/bin/mrtg /home/mrtg/mrtg.cfg ausführen und wir sollten eine Rückmeldung erhalten, die da lautet:
      Daemonizing MRTG …
      Jetzt sollte MRTG alle 5 Minuten unsere VU+ Box abfragen und uns die Grafiken für das Netzwerkinterface erstellen.
      Jetzt heisst es Geduld bewahren. Sofern ihr überprüft habt, dass die Grafiken erstellt und mit Werten gefüllt werden, könnt ihr das Ganze mal ein paar Stunden oder über Nacht laufen lassen. Dann schaut euch einfach mal an, was da so passiert, manchmal ist es ganz interessant, was da so zu sehen ist.
      Monitoren des Netzwerkes ist interessant, aber SNMP kann ja (theoretisch) alles monitoren. Jetzt wollen wir mal einen Grafik für die CPU hinzufügen, dabei lernen wir einiges über den Aufbau des MRTG Config Files sowie vielleicht interessantes über bestimmte MIBs.
      CPU Monitoring hinzufügen
      Dazu benötigen wir die OID, die wir abfragen wollen. Ich schlage hier hrProcessorLoad vor. Das ist eine OID aus der Host Resources MIB (siehe /var/lib/mibs/ietf/HOST-RESOURCES-MIB). Es gibt eine zweite Möglichkeit, die ssCpuRawUser, ssCpuRawSystem und ssCpuRawNice zu addieren (die kommen aus der UCDavis MIB: /var/lib/mibs/ietf/UCD-SNMP-MIB), diese bietet allerdings nicht die Möglichkeit, mehrere Cores abzufragen (soweit mir bekannt ist). Die Sektion in der mrtg.cfg sieht dann so aus (natürlich ohne die führenden Zahlen):
      1 Target[VU+_Solo_4K_rfc2790_CPU]: hrProcessorLoad.196608&hrProcessorLoad.196609:public@192.168.2.34:
      2 PageTop[VU+_Solo_4K_rfc2790_CPU]: <H1> VU+ Solo 4K rfc2790 CPU Usage </H1>
      3 Title[VU+_Solo_4K_rfc2790_CPU]: CPU on 192.168.2.34
      4 Maxbytes[VU+_Solo_4K_rfc2790_CPU]: 100
      5 Options[VU+_Solo_4K_rfc2790_CPU]: gauge
      6 YLegend[VU+_Solo_4K_rfc2790_CPU]: percent
      7 ShortLegend[VU+_Solo_4K_rfc2790_CPU]: %
      8 LegendI[VU+_Solo_4K_rfc2790_CPU]: Core 1
      9 LegendO[VU+_Solo_4K_rfc2790_CPU]: Core 2
      10 Unscaled[VU+_Solo_4K_rfc2790_CPU]: ymwd
      Erklärung:
      1 - Wir legen fest, wie der Graph heissen soll (alle Dateien werden entsprechend benannt), diesen Name denken wir uns so aus, wie er uns passt. Wir legen hier auch fest, was abgefragt (gepollt) werden soll. Dazu geben wir die richtigen OIDs an. In disem Fall sind es "hrProcessorLoad.196608" für den ersten Core und "hrProcessorLoad.196609" für den zweiten Core. Anstatt "hrProcessorLoad" könnte man auch schreiben "1.3.6.1.2.1.25.3.3.1.2". Aber, wir haben ja oben unserem System SNMP "beigebracht und mit "download-mibs" einige MIBs dem System bekannt gemacht. Daher können wir auf die lesbare Form zurückgreifen. Danach folgt .196608 - das ist ein Index, und Beschreibt eben den ersten Core. (Normalerweise kann man sich eine Beschreibung dieses Indexes holen, die steht dann in hrDeviceDescr.196608 - im Fall der Solo 4K ist dieser Eintrag aber leer, aber wir wissen ja, was es ist ;) ).
      2 - Was soll als Überschrift auf der HTML Seite stehen?
      3 - Was soll als Graph-Beschriftung da stehen?
      4 - Was ist der Maximal-Wert der Y-Achse?
      5 - Was für ein Zähler/Wert ist das? (Gauge steht etwa für "Tacho", es ist also kein stetig steigender Wert, also kein Zähler)
      6 - Was steht an der Y-Achse als Beschriftung?
      7 - Welche Einheit haben die Werte in der Legende?
      8 - Was ist der Titel/Name des ersten Wertes (erscheint in der Legende)?
      9 - Was ist der Titel/Name des zweiten Wertes (erscheint in der Legende)?
      10 - Y-Achse wird nicht Skaliert, d.h. sollte der Maximalwert 60% sein, so hört die Y-Achse bei (etwa) 60% auf (und nicht 100%). .. glaube ich!

      Für das Überwachen der Festplatte sieht der Konfigurationsabschnitt in der mrtg.cfg bei mir so aus:
      Target[192.168.2.34.disk.39]: 1.3.6.1.2.1.25.2.3.1.6.39&1.3.6.1.2.1.25.2.3.1.6.39:public@192.168.2.34: * 4096
      PageTop[192.168.2.34.disk.39]: <H1> 192.168.2.34 Disk space used (/media/hdd) </H1>
      Title[192.168.2.34.disk.39]: Disk space used on 192.168.2.34 (/media/hdd)
      SetEnv[192.168.2.34.disk.39]: MRTG_INT_DESCR="/media/hdd"
      MaxBytes[192.168.2.34.disk.39]: 1999643975680
      Options[192.168.2.34.disk.39]: gauge
      YLegend[192.168.2.34.disk.39]: Bytes
      ShortLegend[192.168.2.34.disk.39]: b
      LegendI[192.168.2.34.disk.39]: used:
      Legend1[192.168.2.34.disk.39]: Space used
      Legend3[192.168.2.34.disk.39]: Peak used





      Wenn wir das so laufen lassen, bekommen wir mit der Zeit eine Idee über die CPU Auslastung unserer VU+ Box. Hier kann man noch Plattenplatz, Speicher und mehr hinzufügen...

      ...aber ich weiss nicht, wie es euch geht, aber ich habe hier jetzt schon keine Lust mehr! Man man sieht hier schon: dies alles ziemlich aufwändig und ich habe eigentlich weder Lust noch Zeit, mir jede Menge schlecht dokumentierter Optionen zu merken. Es gibt auch nicht wirklich gute Möglichkeiten hier grafisch oder mathematisch kreativ zu werden. Auch ist die Präsentation der Daten ... nun, sagen wir 'rudimentär'. ;) Irgenwie auch verwirrend, um ehrlich zu sein: so ziemlich Banane! ;)

      Also, ist es an der Zeit den nächsten Level anzugehen - RRD! Siehe Teil 2!

      ....Teil 2 folgt...

      Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von crayfish ()

    • Tutorial: SNMP Management der VU+ Boxen - Teil 2 - RRDs und DRRAW

      RRDs erstellen

      Spoiler anzeigen

      Dass Erstellen von RRDs ist total einfach. Wir müssen nur rrdtool installieren:
      sudo apt-get install rrdtool
      und dann in die mrtg.cfg eine Zeile einfügen:
      LogFormat: rrdtool
      Das hat Folgen! 1) werden alle log-Dateien in rrd-Dateien umgewandelt. 2) mrtg wird jetzt nur noch in die rrd-Dateien schreiben und 3) mrtg erstellt jetzt keine HTML-Seiten mehr, wir brauche also etwas anderes um unsere Graphen anzuzeigen. RRD ist auch schneller, aber das spielt für unsere paar Grafiken keine so große Rolle.


      drraw

      Spoiler anzeigen

      Ich schlage hier vor, wir beschäftigen uns mit dem Tool "drraw" - es soll nicht von Nachteil sein! Die Installation läuft wie erwartet mittels:
      sudo apt-get install drraw
      Die Installation von drraw schlägt uns vor, httpd oder apache2 (optional) zu installieren, aber wir haben ja schon den lighttpd drauf, also ignorieren wir das erst einmal.
      drraw ist ein cgi Script, wir müssen also cgi auf unserem lighttpd aktivieren. Auch installiert sich drraw auf dem Raspi nach /usr/lib/cgi-bin - wir benötigen es aber in /var/www/html/cgi-bin. Wir müssen also etwas herum-konfigurieren, damit es läuft, hier sind die Schritte, die es bei mir erfolgreich zum laufen gebracht haben:
      mkdir /var/www/html/cgi-bin/drraw
      sudo cp /var/lib/cgi-bin/drraw/drraw.cgi /var/www/html/cgi-bin/drraw
      sudo ln -s /usr/share/drraw/icons/ /var/www/html/cgi-bin/drraw/icons
      sudo chown -R www-data:www-data /var/www/html/cgi-bin/drraw
      In /etc/drraw/drraw.conf erklären wir drraw wo die RRDs liegen, dazu suchen wir %datadirs (bei mir Zeile 30), und editieren sie so, dass sie so lautet:
      %datadirs = ('/var/www/html/mrtg' => '[VUPlus] ');
      dann suchen wir in der Datei nach %users und schreiben diese Zeile so um (wieder schalten wir die Security erst einmal aus):
      %users = ( 'guest' => 2 );
      Die beiden folgenden Zeilen (ein weiteres Directory und das Ende ");" ) kommentieren wir mit "#" aus und speichern und raus. Jetzt schalten wir das CGI Modul an mittels:
      sudo lighty-enable-mod cgi
      dann noch den lighttpd neu starten mittels:
      sudo /etc/init.d/lighttpd force-reload
      Wenn a) ich jetzt nichts vergessen habe und b) ihr alles richtig gemacht habt, dann solltet ihr unter: http://192.168.2.7/cgi-bin/drraw/drraw.cgi jetzt das drraw Web-Interface sehen. Es ist zwar ziemlich altbacken, aber dieses Web-Interface macht es uns wesentlich einfacher, auf die Schnelle Graphen, die uns besser gefallen, zu erstellen.


      Erste Graph-Versuche mit drraw
      Spoiler anzeigen
      Auf der drraw Seite sehen wir einige Einträge:
      - Create a new graph
      - Define a new dashboard
      + All Graphs (0)
      + All Templates (0)
      + All Dashboards (0)
      - Change Log
      - Help
      - Report a bug. ...

      Wir gehen auf "Create a new graph" und sollten unter "Available Database Files" unsere RRDs sehen, die wir mit MRTG erstellt haben. Wenn nicht, auf "Refresh" drücken. Wenn es dann immer noch nicht geht, ist irgendwas schief gelaufen.
      Wir suchen uns unsere VU+ Box mit dem Interface raus (bei mir "192.168.2.34_2" - bezeichnet das eth0 Interface), anklicken und unten auf "Data Source RRA(s):" auf "Average klicken. Dann "Add DB(s) to data sources".
      Das bringt uns zu einer nächsten Seite. Wenn wir dort einfach mal auf "Update" klicken, sollte schon der erste Graph erscheinen. Sollten wir schon genügend Daten in der RRD gesammel haben, erscheint natürlich auch der Graph selbst. Hier kann man nach belieben herum-konfigurieren und das Ergebnis auch gleich (Update) sehen. Ich schlage mal folgendes vor:
      Unter "Data Source Configuration" Type/Color beide Werte auf Line 2 setzen (macht die Linie dicker). Der erste Messwert ist "In", der zweite "Out" (unter Label/Format eintragen). Bei "Additional GPRINTs" alle Checkboxen anklicken und hinten auch BR anklicken.
      In der Tabelle "Graph Options" dem Graphen einen Titel geben, ich mag die Width auf 1000, die Height auf 240 gerne. Für Interface Load auf der Solo 4K würde ich "Logarithmic Auto Scaling" anklicken (sonst sieht man nicht so viel).
      Dann nochmal "Update" (gefällt es?) und dann "Save Graph".

      Nun habt ihr euren ersten Graphen erstellt - siehe Anhang!

      Wenn ihr jetzt noch ein bischen herumspielen wollt, tut euch keinen Zwang an. Man kann so auch lernen, mit den diversen RRD Optionen umzugehen, die Begriffe besser verstehen und hat mehr Spaß dabei.

      Ich habe mal ein kleines Dashboard erstellt, siehe zweiter Anhang. So könnte das aussehen. Da kann man z.B. sehr schön erkennen, wie das Autoshredder Plugin zuschlägt, damit es die von mir vorgegebene "Minimum freier Speicher auf HDD" (200GB) Grenze erreicht.
      Man sieht auch das EPG Refresh in der Nacht zuschlagen (ein Core erreicht fast 50%)


      Jetzt kann man schonmal ein bischen rumspielen und sich mit drraw versuchen.

      Im nächsten Teil geht es (unter anderem) um Nagios.
      Dateien

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von crayfish ()

    • Tutorial: SNMP Management der VU+ Boxen - Teil 3 - OMD

      So, jetzt soll es mal mit Nagios, bzw. "OMD" weitergehen. Viel Spaß:

      Wenn man sich im OpenSource Bereich nach Monitoring umschaut, dann kommt man sehr schnell auf ein Tool, das "Nagios" heisst. Nagios ist so etwas ähnliches, wie ein Reflex, wenn jemand System-Monitoring sagt. Sehr viele kennen es, entweder aus dem Job oder Studium und viele haben es schon einmal selbst angefasst oder zumindest gesehen.
      Wenn man sich jetzt Nagios auf dem Raspberry (Stand 1.8.2016, Raspberry Pi 3, Jessie) installiert, mittels:

      Quellcode

      1. sudo apt-get install nagios
      dann bekommt man leider ein uraltes Paket aus dem Jahr 2013. Die aktuelle Version ist 4.2, da möchte man schon irgendwie etwas neueres haben wollen. Wenn man etwas weiter sucht, stößt man auf "OMD" - Open Monitoring Distribution. Das ist ein sehr schöne Sache, denn es vereint einige Nagios-Varianten unter einem Hut, als da wären:
      1. Classic Nagios GUI
      2. Check_MK Multisite: Check_MK ist ein Nagios Derivat
      3. Thruk_Monitoring: Neuschreibung des UI in Perl
      4. Icinga: auch ein Nagios Derivat, behauptet nicht an Nagios gebunden zu seine und auch andere Monitoring "Cores" zu unterstützen
      5. NagViz: bezeichnet sich selbst als führendes Visualisierungs-Tool zu Nagios
      6. PNP4Nagios: Performance-Analyse-Plugin für Nagios
      OMD gibt es nicht für den Raspberry Pi, schon gar nicht für den Raspi3 mit Jessie. Aber wir haben Glück, laut diesem Alexander haben die Jungs von Banana Pi eine Version für ARMv7 (also für den Raspi 3) bereitgestellt. Dafür muss folgendes gemacht werden:

      Falls ihr meinem Tutorial gefolgt sein und jetzt einen lighttpd auf Port 80 laufen habt, solltet ihr zuerst den Port, den lighttpd benutzt umkonfigurieren. Dazu in der /etc/lighttpd/lighttpd.conf einfach die Zeile:

      Quellcode

      1. server.port = 80
      ändern auf

      Quellcode

      1. server.port = 88
      und den lighttpd neu starten.

      Dann folgendes ausführen:

      Quellcode

      1. sudo apt-get update
      2. sudo apt-get upgrade
      3. gpg --recv-keys 24BFF712 && gpg --armor --export 24BFF712 | apt-key add -
      4. echo "deb http://dl.bananian.org/packages/ jessie main" > /etc/apt/sources.list.d/omd.list
      5. apt-get update && apt-get install omd-1.30
      Das hat bei mir einfach so funktioniert. Während der Installation muss man sich noch ein MySQL Passwort einfallen lassen. Am am Ende wirft das System aber noch einige Fehler wegen fehlender Pakete. Abhilfe schafft hier folgendes Kommando:

      Quellcode

      1. sudo apt-get -f install
      Das war es schon. Keine weiteren Konfigurationen notwenig! Schonmal nicht schlecht!
      Um jetzt OMD zu nutzen, muss man erst eine "Site" anlegen und diese "Site" starten. Dazu benutzen wir mal folgende zwei Kommandos:

      Quellcode

      1. sudo omd create home
      2. sudo omd start home
      Jetzt sollten wir unter: 192.168.2.7/home den Webserver sehen, mit der Möglichkeit, sich eines der Webinterfaces auszusuchen (siehe Anhang). Ich wähle hier mal check_mk. Standard Admin User ist "omdadmin" und das Standard Passwort ist "omd". Dann:
      1. im dortigen Interface auf "WATO - Configuration" gehen
      2. unter Hosts den Knopf "New host" auswählen
      3. dort dann einen Hostnamen eingeben (ich nehme vusolo4k für meine Box)
        1. falls der Hostname nicht auf gelöst werden kann, kann man auch direkt eine IP eingeben, oder
        2. unter IP address die IP eingeben und den Hostnamen behalten (sieht schicker aus)
      4. Dann unter "Agent Type" die CheckBox markieren und "SNMP (Networking Device, Appliance)" ausählen und mit "Save & go to Services" weitermachen
      Das war es auch schon für den Einstieg.

      Ich werde das hier noch weiter bewerten - aber es zeigt sich jetzt schon ein Unterschied: Nagios ist ein Überwachungstool für die Verfügbarkeit von Geräten und Programmen. Also: Grün, Gelb, Rot. Nicht weniger, aber auch nicht mehr. Für unsere Zwecke (VU+ Geräte) - so zumindest meine Meinung - ist es zwar ganz interessant, aber nicht dass, was uns hilft. Wenn die Box an oder aus ist, sehen wir ja irgendwie selbst. Aber schauen wir mal...

      ...weiter im Teil 4.
      Dateien

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von crayfish ()

    • also mit dem agent-type für omd kann ich nichts auslesen
      Service discovery failed for this host: Cannot fetch system description OID .1.3.6.1.2.1.1.1.0
      muss ich snmp auf der 4k aktivieren? finde kein plugin dafür. hat das bei dir so funktioniert?

      Grüße
      Solaar