Wiki:packages/rrdstats
zuletzt geändert vor 5 Monate zuletzt geändert am 13.12.2011 17:42:17

RRDstats

RRDstats screenshotRRDstats screenshot

Einleitung

RRD steht für Round Robin Database und wurde für Linux und Windows unter der GNU-Lizenz von Tobias Oetiker entwickelt. Es ist ein sehr leistungsfähiges Werkzeug, um zeitbezogene Messdaten wie Temperatur, Festplattenauslastung, Netzwerkverkehr auf kompakte Art und Weise in einer Datenbank zu speichern und ansprechend zu visualisieren. Weitere Details sind hier im Wiki beim Paket RRDtool nachzulesen. Um die Daten nachher graphisch darzustellen, wird rrdstats verwendet, worum es hier im Detail geht.

Voraussetzungen und Einbau von RRDstats beim Firmware-Bau

  • make menuconfig
  • Package selection / Web interface / RRDstats for RRDtool [selektiert automatisch auch RRDtool 1.2.30 unter "Package selection / Testing"]
  • nur für DigiTemp: Package selection / Testing / digitemp 3.0.6 / digitemp for ds9097 [mit den beiden anderen Optionen ging es (bei ao) nicht] Ich (cuma) nutze "ds2490" mit dem "DS9490R". Hierbei sind keine zusätzlichen Module nötig.
  • nur für DigiTemp: Advanced options / Kernel modules / drivers / pl2303.ko [habe für einen anderen Adapter zusätzlich auch noch ftdi_sio.ko ausgewählt]
  • nur für Kabelmodem: Optional das Package "wget" installieren. Dadurch werden Ausfälle bei Nichterreichbarkeit des Kabelmodem vermieden, es ist aber ca 350 kB gross.
  • make
  • FW flashen
  • nur für DigiTemp: im Freetz-WebGUI unter "Einstellungen / Freetz:modules das bzw. die Kernel-Modul(e) untereinander eintragen (aber ohne "modprobe" o.ä.!)
pl2303
ftdi_sio
  • im Freetz-WebGUI unter "Einstellungen / RRDstats: xxx" und unter "Pakete / RRDstats" weitere Einstellungen vornehmen

Wichtig zu wissen ist, dass die Initialisierung nur 1x pro Messfühler nötig ist und dass der Dienst "RRDstats" (siehe Freetz-WebGUI unter "Dienste") nicht automatisch wieder gestartet wird, nachdem man unter den Einstellungen Änderungen vorgenommen hat. D.h., dass man danach den Dienst manuell starten muss (zumindest ist es bei mir so).

Sinnvoll ist die Anpassung der Pfade, falls man regelmäßige Backups der Messdaten machen möchte, z.B.:

Backup Verzeichnis: /var/media/ftp/uStor01/rrdstats/backup

… und im Freetz-WebGUI bei den RRDstats-Einstellungen das automatisch Wiederherstellen von Backups beim Starten aktivieren

Wenn man die Backups nun regelmäßig mittels eines cronjobs durchführt, z.B. alle 20-30 Minuten, sind die Lücken in den Graphen bei entsprechend kurzen Box-Ausfallzeiten auch nicht zu groß. Im Freetz-WebGUI gibt man dazu unter "Einstellungen / Freetz: crontab" z.B. folgendes ein:

00 * * * * /etc/init.d/rc.rrdstats backup
20 * * * * /etc/init.d/rc.rrdstats backup
40 * * * * /etc/init.d/rc.rrdstats backup

Näheres zu crontab bitte im Internet nachlesen.

Einstellungen WebGUI

"Not lazy" bedeutet, dass die Graphen immer neu generiert werden, hingegen bedeutet "lazy", dass sie nur neu generiert werden, wenn sie veraltet sind. Die Einstellung "lazy" (bzw. das Abschalten von "not lazy") verringert die CPU-Last.

Vefügbare Netzwerkintrafaces auf der Box kann man so ermitteln: ifconfig |grep -v "^ "

/!\ Das Unterdrücken der 85°C Fehlerwerte wirkt sich nur auf die .rrd Dateien aus, nicht auf die .cvs.

Die anderen Einstellungen dürften selbsterklärend sein. Falls nicht, bitte im Forum nachfragen und bei neuen Erkenntnissen hier ergänzen.

Dateiübersicht (unvollständig)

Folgende Dateien/Pfade sind an der Erstellung der Graphischen Auswertung beteiligt:

/usr/lib/cgi-bin/rrdstats/stats.cgi: Diverses Feintuning kann man in der Datei vornehmen. Erstellt die png Graphen, aus den rrd Dateien. Es lassen sich z.B. slopes u.ä. hinzufügen. Ein paar Hinweise dazu gibt es in diesem IPPF-Thread.

/etc/default.rrdstats/rrdstats: Dieses shell script dient dem einsammeln der anzuzeigenden Werte, erstellt csv Dateien und pflegt die neuen Werte in die Round Robin Database über RRDtool ein.

BUGS

Manchmal kann es vorkommen, dass die Zähler / Graphiken für CPU, Memory etc. nicht mehr verfügbar sind. Im Persistenten Verzeichnis (Dienste - RRDStats) sind dann leere Dateien für den jeweiligen counter zu finden. Abhilfe schafft ein stoppen des Dienstes, löschen der leeren Dateien und erneutes starten des Dienstes. Dabei werden die fehlenden Dateien erneut korrekt angelegt und der Fehler ist weg. Verursacht wahrscheinlich durch eine fehlerhaftes Datum auf der Fritzbox (Jahr 2017-Problem).

Die Dateien können auf ihre Konsistenz mit rrdtool dump dateiname.rrd überprüft werden.

Entstanden aus diesem Thread im IPPF: http://www.ip-phone-forum.de/showthread.php?t=183491