Hallo zusammen,
ich bin über "rrdgraph_libdbi" (http://oss.oetiker.ch/rrdtool/doc/rrdgraph_libdbi.en.html)
gestolpert und da ich viele meiner Daten in einer mysql DB habe, wollte ich dies mal ausprobieren.
Also, die Daten für die Erzeugung eines Graphen werden aus mysql gelesen, nicht aus einem rrd-File.
Leider komme ich noch nicht richtig weiter.
Ich habe mal auf Pi/Linux und Windows mit perl (unter Nutzung von use RRDs;) getestet. Python wäre mir auch recht
...
#!/usr/bin/perl
use RRDs;
my $DS_BASE="sql//mysql/host=192.168.0.1/dbname=sensors_rfm12pi/username=myuser/password=mypasswd/sensor_data/timestamp/value/noteid=6";
# my $DS_BASE="test.rrd";
RRDs::graph "sensor-$_[0]-$_[1].png --imgformat=PNG --start=-1$_[1] --width=1000 --height=600" ,
"DEF:min=$DS_BASE:min:AVERAGE" ,
"LINE1:min#FF0000:value" ,
"DEF:avg=$DS_BASE:avg:AVERAGE" ,
"LINE1:avg#00FF00:average" ,
"DEF:max=$DS_BASE:max:AVERAGE" ,
"LINE1:max#FF0000:max" ,
"DEF:sigma=$DS_BASE:sigma:AVERAGE" ,
"CDEF:upper=avg,4,sigma,*,+" ,
"LINE1:upper#0000FF:+4 sigma" ,
"CDEF:lower=avg,4,sigma,*,-" ,
"LINE1:lower#0000FF:-4 sigma";
if ($ERROR = RRDs::error) { print "$0: unable to generate sensor $_[0] $_[1] graph: $ERROR\n"; }
}
...
Alles anzeigen
führt zu:
D:\tmp\test_rrd_mysql.pl: unable to generate sensor 6 day graph: opening 'sql//mysql/host=192.168.0.1/dbname=sensors_rfm12pi/username=myuser/password=mypasswd/sensor_data/timestamp/value/noteid=6': No such file or directory
Irgendwie mag er die 'sql//..." Angabe nicht. Gleiche Fehlermeldung (No such file or directory) kommt übringens auch, wenn eine 0815.rrd angegeben wird, die es aber nicht gibt bzw. nicht gefunden wird.
Unter Pi/Linux erhalte ich:
test_rrd_mysql.sh:
export RRDDEBUGSQL=1
DS_BASE="sql//mysql/host=192.168.0.1/dbname=sensors_rfm12pi/username=myuser/password=mypasswd//sensor_data/timestamp/value/noteid=6"
rrdtool graph test.png --imgformat=PNG --start=-1day --end=+3hours --width=1000 --height=600 \
"DEF:min=$DS_BASE:min:AVERAGE" \
"LINE1:min#FF0000:value" \
"DEF:avg=$DS_BASE:avg:AVERAGE" \
"LINE1:avg#00FF00:average" \
"DEF:max=$DS_BASE:max:AVERAGE" \
"LINE1:max#FF0000:max" \
"DEF:sigma=$DS_BASE:sigma:AVERAGE" \
"CDEF:upper=avg,4,sigma,*,+" \
"LINE1:upper#0000FF:+4 sigma" \
"CDEF:lower=avg,4,sigma,*,-" \
"LINE1:lower#0000FF:-4 sigma"
Alles anzeigen
root@AirPi-Testing:/home/pi# ./test_rrd_mysql.sh
RRDDEBUGSQL: 1433879067: initialize libDBI
ERROR: libdbi - no such driver: mysql (possibly a dynamic link problem of the driver being linked without -ldbi)
wird in der Beschreibung erwähnt (http://oss.oetiker.ch/rrdtool/doc/rrdgraph_libdbi.en.html), ich habe nur keine Ahnung was ich dagegen tun muss.
Hat jemand mit dem Modul rrdgraph_libdbi für RRD bereits gearbeitet oder kann es evtl. auch mal testen?
Im Netz findet man leider noch nicht viel diesbzgl.
Wäre sehr dankbar
giovanne