Hallo,
ich möchte in einer rrd Datenbank protokollieren, welcher Schalter wann betätigt wurde.
(es kann immer nur ein Schalter (1 bis 9) innerhalb 15s betätigt werden, eine passende Kontrolle bzw. "Entscheidung" was an RRD geliefert wird erfolgt durch ein Programm)
Testweise habe ich die "Schaltimpulse" per Script an die RRD-DB geschickt, aber die dort gespeicherten Werte sehen anders aus als die Werte, welche in reingeschrieben habe. So weit ich es nachlesen konnte hängt das mit der Rundung von RRD ab, welche die Zeit des Eintrags noch heranzieht.
Habe um solche "Rundungen" zu umgehen extra den Intervall (step) auf 15s gesetzt, und auch alle 15s einen ganzzahligen Wert in RRD schreiben lassen. Trotzdem sehen die Werte sehr "komisch" und willkürlich aus ....
Die RRD-DB habe ich hiermit angelegt:
rrdtool create /var/log/data/rrd/catflap.rrd --step 15 \
DS:Catflap:GAUGE:60:0:10 \
RRA:AVERAGE:0.5:1:120 \
RRA:LAST:0.5:1:120 \
RRA:AVERAGE:0.5:60:144 \
RRA:LAST:0.5:60:144
Diese Werte habe in RRD reingeschrieben (bash-Script):
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:4
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:2
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:6
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:9
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:9
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:2
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:2
sleep 15
sleep 15
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:2
sleep 15
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:5
sleep 15
/usr/bin/rrdtool update /var/log/data/rrd/catflap.rrd N:7
Alles anzeigen
So sehen die Werte in RRD dump aus:
(Last und Average sehen identisch aus)
<!-- 2015-12-07 14:21:15 CET / 1449494475 --> <row><v>NaN</v></row>
<!-- 2015-12-07 14:21:30 CET / 1449494490 --> <row><v>4.0000000000e+00</v></row>
<!-- 2015-12-07 14:21:45 CET / 1449494505 --> <row><v>4.0000000000e+00</v></row>
<!-- 2015-12-07 14:22:00 CET / 1449494520 --> <row><v>3.1084646667e+00</v></row>
<!-- 2015-12-07 14:22:15 CET / 1449494535 --> <row><v>3.7733541333e+00</v></row>
<!-- 2015-12-07 14:22:30 CET / 1449494550 --> <row><v>7.3236196000e+00</v></row>
<!-- 2015-12-07 14:22:45 CET / 1449494565 --> <row><v>9.0000000000e+00</v></row>
<!-- 2015-12-07 14:23:00 CET / 1449494580 --> <row><v>6.0574674000e+00</v></row>
<!-- 2015-12-07 14:23:15 CET / 1449494595 --> <row><v>2.0000000000e+00</v></row>
<!-- 2015-12-07 14:23:30 CET / 1449494610 --> <row><v>2.0000000000e+00</v></row>
<!-- 2015-12-07 14:23:45 CET / 1449494625 --> <row><v>2.0000000000e+00</v></row>
<!-- 2015-12-07 14:24:00 CET / 1449494640 --> <row><v>2.0000000000e+00</v></row>
<!-- 2015-12-07 14:24:15 CET / 1449494655 --> <row><v>4.1182506000e+00</v></row>
<!-- 2015-12-07 14:24:30 CET / 1449494670 --> <row><v>4.1182506000e+00</v></row>
<!-- 2015-12-07 14:24:45 CET / 1449494685 --> <row><v>5.8197450667e+00</v></row>
Alles anzeigen
Hat jemand einen Tipp wie ich die "echten" Werte in RRD schreiben kann bzw. wie ich später bei der Auswertung in einem Graph nicht 3.77 oder 5.819 dargestellt bekomme sondern die Werte ursprüngleichen (ganzzahligen) Werte ?