Hallo Pfiffikus,
mich freut das ich Dein Interesse an RRDtool geweckt habe.
Das Du das Rad nicht neu erfinden musst, bzw. Du es leichter hast.
Um eine langfristige Aufzeichnung der Messwerte und die komfortable Erzeugung von Grafiken (den sogenannten GAUGEN) bietet sich die Verwendung von RRDtool an.
Hier ein paar Grundlagen bzw. Beispiele zur Round Robin Datenbank RRDtool.
http://www.mrtg.org/rrdtool/Code:
sudo apt-get install rrdtool
Als nächstes erstellen der Datenbank.Folgende Schritte können nachträglich nicht mehr geändert werden, aber die vorhandene Datenbank kann ausgelesen und neu erstellt werden!
Hierbei sollte sich zunächst Gedanken über zeitliche Auflösung und Umfang der zu speichernden Daten machen.
Bei der Definition der Datenbank von x zur Zeit bekanten Datenquellen erstellt man am besten einpaar Dummy . Dann lassen sich später einfach weitere Sensoren anbinden.
Eine spätere Erweiterung der Datenbank um zusätzliche Datenquellen ist dagegen nicht so einfach möglich.
Datenquellen im Beispiel mit
pnt_1 bis
pnt10 dargestellt. Hier sollten aber für die bekannten vorhandenen Datenquellen exakte Bezeichnung verwendet werden, um eine Übersicht zu behalten.
Festlegen des Update Intervall:
Update Intervall in 5 min Schritten
(300 seconds) dieses ist die max. Zeit in der die Daten zur Verfügung gestellt sein sollten. Sonst wird ein Nand gelesen.
Wenn ich wie hier von einem Messwert pro 5 min (300 Sekunden) aus gehe ergibt sich folgendes.
ROWS x SAMPLE x STEP
10000 x 1 x (300) = 35 Tage (5 min steps) Der Wert wird 35 Tage aufgehoben, in 5 min Schritte Samples pro Data Source.
15000 x 6 x (300) = 312 Tage (30 min steps) Der Wert wird 312 Tage aufgehoben, in 30 min Schritte Samples pro Data Source.
20000 x 12 x (300) = 2.2 Jaher (1 hr steps) Der Wert wird 2.2 Jahere aufgehoben, in 1 STd. Schritte Samples pro Data Source.
20000 x 24 x (300) = 4.5 Jahre (2 hr steps) Der Wert wird 4.5 Jahere aufgehoben, in 2 STd. Schritte Samples pro Data Source.
20000 x 48 x (300) = 9 Jahre (4 hr steps) Der Wert wird 9 Jahere aufgehoben, in 4 STd. Schritte Samples pro Data Source.
Die Datenbank speichert immer für 10 Jahre, das Dateivolumen ist auch sofort Fix und änder sich nicht mehr!!!!
Über die Zeit werden die Samples pro Data Source (Pixel) immer weiter reduziert, dadurch bleibt das Dateivolumen gering.
Die Definition
-30:1000[/b] legen den Werte-Bereich fest also von -30 bis 1000.
Das Heist wenn zum Beispiel ein Temp.Fühler den wert - 35 ausgibt gilt das als Fehler da es nicht dem einzulesenden Werte-Bereich entspricht.
Der wert wird dann mit seiner Zeitmarke als Nand interpretiert, also Fehler!
Daraus ergibt sich folgendes Beispiel für das erstellen der Datenbank:
rrdtool create /var/www/rrd/teichsteuerung.rrd --
step 300 \
DS:
pnt_1:GAUGE:600:
-30:1000 \
DS:
pnt_2:GAUGE:600:-30:1000 \
DS:
pnt_3:GAUGE:600:-30:1000 \
DS:
pnt_4:GAUGE:600:-30:1000 \
DS:
pnt_5:GAUGE:600:-30:1000 \
DS
:pnt_6:GAUGE:600:-30:1000 \
DS:
pnt_7:GAUGE:600:-30:1000 \
DS:
pnt_8:GAUGE:600:-30:10000 \
DS:
pnt_9:GAUGE:600:-30:10000 \
DS:
pnt_10:GAUGE:600:-30:10000 \
RRA:AVERAGE:0.5:1:
10000 \
RRA:MAX:0.5:1:
10000 \
RRA:MIN:0.5:1:
10000 \
RRA:AVERAGE:0.5:6:
15000 \
RRA:MIN:0.5:6:
15000 \
RRA:MAX:0.5:6:
15000 \
RRA:AVERAGE:0.5:12:
20000 \
RRA:MIN:0.5:12:
20000 \
RRA:MAX:0.5:12:
20000 \
RRA:AVERAGE:0.5:24:
20000 \
RRA:MIN:0.5:24:20000 \
RRA:MAX:0.5:24:20000 \
RRA:AVERAGE:0.5:48:20000 \
RRA:MIN:0.5:48:20000 \
RRA:MAX:0.5:48:20000 \
Der Befehl bzw. Code kann in einem Stück in Putty eingegeben werden oder als Skript z.B #!/bin/sh ausgeführt werden.
Die Dateizugriffsrecht können wie immer danach angepasst werden.
Hier noch mal als Beispiel Code ohne Farben:
Code:
rrdtool create /var/www/rrd/teichsteuerung.rrd --step 300 \
DS:pnt_1:GAUGE:600:-30:1000 \
DS:pnt_2:GAUGE:600:-30:1000 \
DS:pnt_3:GAUGE:600:-30:1000 \
DS:pnt_4:GAUGE:600:-30:1000 \
DS:pnt_5:GAUGE:600:-30:1000 \
DS:pnt_6:GAUGE:600:-30:1000 \
DS:pnt_7:GAUGE:600:-30:1000 \
DS:pnt_8:GAUGE:600:-30:10000 \
DS:pnt_9:GAUGE:600:-30:10000 \
DS:pnt_10:GAUGE:600:-30:10000 \
RRA:AVERAGE:0.5:1:10000 \
RRA:MAX:0.5:1:10000 \
RRA:MIN:0.5:1:10000 \
RRA:AVERAGE:0.5:6:15000 \
RRA:MIN:0.5:6:15000 \
RRA:MAX:0.5:6:15000 \
RRA:AVERAGE:0.5:12:20000 \
RRA:MIN:0.5:12:20000 \
RRA:MAX:0.5:12:20000 \
RRA:AVERAGE:0.5:24:20000 \
RRA:MIN:0.5:24:20000 \
RRA:MAX:0.5:24:20000 \
RRA:AVERAGE:0.5:48:20000 \
RRA:MIN:0.5:48:20000 \
RRA:MAX:0.5:48:20000 \
Für Die Ausgabe der Gaugen gibt es verschiedene Möglichkeiten, z.b. wie bei mir Antippen eines Tachos und Ausgabe der Entsprechenden Gauge über CGI!!!