RRDTOOL

All posts tagged RRDTOOL

Na dann mal ran an den Speck … erstmal alles benötigte für unser Vorhaben installieren:


apt-get install mrtg mrtg-ping-probe rrdtool librrds-perl snmp snmpd snmp-mibs-downloader apache2 libapache2-mod-perl2 libnet-snmp-perl libgd-gd2-perl

Während der Installation fragt das Setup für MRTG ob die Config Datei nur mit Root beschreibbar sein soll oder von jedem, die antwort ist an sich egal, wir nehmen jedoch der Sicherheit Halber die Option mit root only zugriff.

Kommen wir zu den wichtigen Dingen der Konfiguration der gerade installierten Module … zuallererst haben wir hier den

Apache2 Webserver

Da dieser Läuft sollte auf port 80 auch bereits die Standard Seite vom Apache verfügbar sein, der in diesem Fall über die Config Struktur des Apache Servers aufklärt. Diese Seite können wir soweit ignorieren, wir müssen uns zunächst erstmal um die aktivierung von PERL über das CGI Paket kümmern:


a2enmod cgi
service apache2 restart

Danach sollte man unter


/etc/apache2/sites-enabled/000-default.conf

Die Zeile “ Include conf-available/serve-cgi-bin.conf  “ aktivieren ( # entfernen am Anfang )
Auch nach diesem Speichern ist ein beherzter neustart des Apache2 Services fällig.

im Prinzip  ist es das auch schon für die Konfiguration für den Apache gewesen. Kommen wir also zu

MRTG und dem RRDtool

Zunächst ist es hilfreich den cronjob von MRTG anzupassen , von 5 auf 1 Minute:


nano /etc/cron.d/mrtg


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


nano /etc/mrtg.cfg


Interval: 1


rm -r /var/mrtg/*.rrd

Die nächste Anpassung machen wir für den RRD Ordner als auch für die ganzen MRTG Config Files, hier werden also 2 neue Verzeichnisse benötigt.


mkdir /var/mrtg #für das  rrd Verzeichnis
mkdir /etc/mrtg #ffür die Config Dateien

Der Nächste Part bezieht sich auf die Einstellung von der

Routers2.cgi

Zunächst müssen wir die Routers2.cgi erstmal beziehen und dann auch noch installieren:


wget http://www.steveshipway.org/software/rrd/routers2-v2.23.tar.gz
tar xfv routers2-v2.23.tar.gz
cd routers2-v2.23/
perl install.pl

Während der Installation werden wir einige Fragen gefragt bezüglich pfaden auf dem RPI und anderen Dingen, der  einfachheit halber habe ich die korrekten Einstellungen vornotiert:


Document root? /var/www/html
CGI directory? /usr/lib/cgi-bin
MRTG config directory? /etc/mrtg
MRTG files [*.cfg]?
RRD directory [/tmp]? /var/mrtg
Perl executable [/usr/bin/perl]?
Configuration file [/var/mrtg/routers2.conf]?
Activate routingtable extensions [no]?
'usebigk' option [mixed]? no
auth option [none]?
Caching option [no]?
Can I mail [no]?

INSTALLING SOFTWARE

Perl is : /usr/bin/perl
MRTG files : /etc/mrtg/*.cfg
RRD files : /var/mrtg
Doc root : /var/www
CGI bin : /usr/lib/cgi-bin
Config file : /var/mrtg/routers2.conf
Routingtable: INACTIVE
Compact page: ENABLED
Caching : DISABLED
'usebigk' : no
Auth option : NONE
Mail Steve : no
Other options can be set later by modifying the Config file
Continue to install [no]? yes

Nach der Installation ist noch die Anpassung der Routers2.cgi config notwendig:


nano /var/mrtg/routers2.conf


charset = utf-8 #Für korrekte Zeichenanzeige
actuals = yes #Die Aktuellen Zahlen im Popup anzeigen
defaulttarget = summary #Zusammenfassung zuerst anzeigen
graphstyle = x3 #Das größte Bild anzeigen
graphtype = w #Die Wochenanzeige per Default zeigen
percentile = yes #Prozentuale Berechnung
sorder = l2 l2D x3 x3D #Nur große Bilder anbieten
showtotal = yes #Eine Gesammtlinie anzeigen
compact = no #Es werden keine Kompakten Graphen angezeigt.
daystart = 8 #Um einen Werktag hervorzuheben ( Startuhrzeit)
dayend = 18 #Ditto ( Enduhrzeit )
windowtitle = Title #Hier kann der Seitentitel definiert werden
bgcolour = #fffffff #Wenn das nicht eingegeben ist haben einige Graphen einen  lilanen Hintergrund
twinmenu = yes #ja da wir alle mit Widescreens heutzutage arbeiten
showfindbox = no #ist deaktiviert da wir nicht soviele Geräte überwachen.
6hour = always #wird hinzugefügt durch uns damit die 6 Stunden anzeige freigeschaltet wird

Nun muss noch die Standard mrtg.cfg angepasst werden.


nano /etc/mrtg.cfg


#Directory in which the RRD files will be stored
WorkDir: /var/mrtg
#Tells MRTG to use RRD instead of its own log format
LogFormat: rrdtool
#To have multiple instances of MRTG running to immediately pass through all targets
Forks: 4
#Use the configs in the mrtg subfolder (/etc/mrtg)
Include: mrtg/*.cfg

Erster Testlauf ohne angebundene Geräte

Dann rufen wir mal testweise http://PiHole/cgi-bin/routers2.cgi auf, Zeigt  das ganze eine Seite mit „no valid target is selected“ sind wir richtig und das Script funktioniert. da wir aber noch verifizieren wollen ob die Konfiguration soweit hinhaut rufen wir folgende Seite auf http://PiHole/cgi-bin/routers2.cgi?page=verify . Ist hier alles soweit in Ordnung ist das Grund Setup abgeschlossen ( Yay ).

Man könnte jetzt über viele Wege configurationen anlegen für neue Geräte, ich Persönlich wollte sowieso mrtg-ping-probe nutzen und verzichtete daher über snmp traps als auch den cfgmaker von MRTG, da dieser leider nicht die nötigen Einträge unterstützt hätte.

Im Nächsten Beitrag gehe ich auf das Verwendete MRTG Template für alle Clients ein.