Sida 2 av 3

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 00:21
av patriko
Detta kommer från det senaste testet under en halv timme.
rrd file /root/rrd/temps2.rrd created
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.1875:25.4375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.25:25.375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.25:25.375:23.6875
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.25:25.4375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.25:25.375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.25:25.4375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.3125:25.4375:23.75
/usr/bin/rrdupdate /root/rrd/temps2.rrd N:10.3125:25.4375:23.75

Jag tycker det ser bra ut.
När jag stoppar loggnigen och skall skapa en graf en den nya databasen
sker samma grej. Den står och hänger och efter ett tag spottar den ut en
massa siffror lägst ner.

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 08:30
av elf98
Och hur ser en dump för hela perioden ut?
info från databasen?

(Lägg gärna in det som "Code" så blir det lättare att läsa)

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 15:12
av Plutonium
Jag har ett fungerande perl skript för owfs också..

Kod: Markera allt

#!/usr/bin/perl
#
# rrd_owfstemp.pl

use lib qw(/usr/local/rrdtool-1.2.15/lib/perl);
use RRDs;

# define location of rrdtool databases
my $rrd = '/home/SCRIPT/RRD_DB';
# define location of images
my $img = '/home/plutonium/public_html/temps/';

# process data for each devices (add/delete as required)
&ProcessSensor("10.2A7A7C010800", "Temperatur på vinden");
&ProcessSensor("10.E68E7C010800", "Temperatur i växthuset");
#&ProcessSensor("your device id here", "temp sensor 2");

sub ProcessSensor
{
# process sensor
# inputs: $_[0]: sensor number (ie, 0/1/2/etc)
#         $_[1]: sensor description

        # get temperature from sensor
        my $temp = `grep . /mnt/1wire/$_[0]/temperature | sed -e s/" "//g`;

        # remove eol chars
        chomp($temp);

        print "sensor $_[0]: $temp degrees C\n";

        # if rrdtool database doesn't exist, create it
        if (! -e "$rrd/owfs-$_[0].rrd")
        {
                print "creating rrd database for temp sensor $_[0]...\n";
                RRDs::create "$rrd/owfs-$_[0].rrd",
                        "-s 300",
                        "DS:temp:GAUGE:600:U:U",
                        "RRA:AVERAGE:0.5:1:2016",
                        "RRA:AVERAGE:0.5:6:1344",
                        "RRA:AVERAGE:0.5:24:2190",
                        "RRA:AVERAGE:0.5:144:3650",
                        "RRA:AVERAGE:0.3:1440:1825";
        }
        if ($ERROR = RRDs::error) { print "$0: failed to create $_[0] database file: $ERROR\n"; }

        # check for error code from temp sensor
        if (int $temp eq 85)
        {
                print "failed to read value from sensor $_[0]\n";
        }
        elsif (int $temp eq 00)
        {
                print "failed to read value from sensor $_[0]\n";
        }
        else
        {
                # insert values into rrd
                RRDs::update "$rrd/owfs-$_[0].rrd",
                        "-t", "temp",
                        "N:$temp";
                if ($ERROR = RRDs::error) { print "$0: failed to insert $_[0] data into rrd: $ERROR\n"; }
        }


        # create graphs for current sensor
        &CreateGraph($_[0], "day", $_[1]);
        &CreateGraph($_[0], "week", $_[1]);
        &CreateGraph($_[0], "month", $_[1]);
        &CreateGraph($_[0], "year", $_[1]);
        &CreateGraph($_[0], "5year", $_[1]);
}                       
                        
sub CreateGraph         
{                       
# creates graph
# inputs: $_[0]: sensor number (ie, 0/1/2/etc)
#         $_[1]: interval (ie, day, week, month, year)
#         $_[2]: sensor description
        
        RRDs::graph "$img/temp-$_[0]-$_[1].png",
                "-s -1$_[1]",
                "-t $_[2]",
                "--lazy",
                "-h", "150", "-w", "475",
                "-a", "PNG",
                "-v plutonium.homelinux.com",
                "--slope-mode",
                "DEF:temp=$rrd/owfs-$_[0].rrd:temp:AVERAGE",
                "LINE2:temp#0000FF::",
                "GPRINT:temp:MIN:  Min\\: %6.1lf",
                "GPRINT:temp:MAX:  Max\\: %6.1lf",
                "GPRINT:temp:AVERAGE: Snitt\\: %6.1lf",
                "GPRINT:temp:LAST: Nuvarande\\: %6.1lf grader C\\n";
        if ($ERROR = RRDs::error) { print "$0: unable to generate sensor $_[0] $_[1] graph: $ERROR\n"; }
}
Du behöver inte använda detta skript, men möjligheten finns..
Hoppas allt löser sig.

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 16:45
av patriko
Tackar för eran hjälp.

Jag tog ditt script med owfs och testa.
Jag bara ändra adresserna till mina temp. sensorer.

Samma sak.
Den skapar database m.m.
Men när den skall skapa graf bilden går cpu upp i 99% i ca 10-15 min.
När bilden är klar har jag en massa siffror längs ner.

Börja tro att det är en BUGG i programmet.
Då har jag ändå testat att installera om rrd.

Man börjar tröttna på detta. :(
Fundera på att installera om mitt os!!(Kör Debian)

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 16:49
av patriko
elf98 skrev:Och hur ser en dump för hela perioden ut?
info från databasen?

(Lägg gärna in det som "Code" så blir det lättare att läsa)
Testa att skapa en dump.
Filen blev 13Mb
Vet ej om jag kan klistra in detta.

info om databasen.

Kod: Markera allt

owfs-10.4EFF5F010800.rrd  rrd_owfstemp.pl
nas:~/rrd2# rrdtool info owfs-10.4EFF5F010800.rrd
filename = "owfs-10.4EFF5F010800.rrd"
rrd_version = "0003"
step = 300
last_update = 1221057460
ds[temp].type = "GAUGE"
ds[temp].minimal_heartbeat = 600
ds[temp].min = NaN
ds[temp].max = NaN
ds[temp].last_ds = "UNKN"
ds[temp].value = 1.2485228369e+02
ds[temp].unknown_sec = 150
rra[0].cf = "AVERAGE"
rra[0].rows = 2016
rra[0].cur_row = 2015
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 1344
rra[1].cur_row = 1343
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 1
rra[2].cf = "AVERAGE"
rra[2].rows = 2190
rra[2].cur_row = 2189
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 7
rra[3].cf = "AVERAGE"
rra[3].rows = 3650
rra[3].cur_row = 3649
rra[3].pdp_per_row = 144
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 31
rra[4].cf = "AVERAGE"
rra[4].rows = 1825
rra[4].cur_row = 1824
rra[4].pdp_per_row = 1440
rra[4].xff = 3.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 751
nas:~/rrd2#

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 16:56
av elf98
Zippa filen och lägg upp den, eller zippa och maila den till info@temperatur.nu så lägger jag upp väl valda delar.

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 17:06
av patriko
Här kommer den zip:ad.

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 21:57
av patriko
Nu har jag testat att koppla om allt till en annan gammal Linux server jag har.

Installerat owfs , rrd osv.

Kopierat över exakt samma skrip som jag har haft problem med.

Det tar inte en sek och bilden är klar.
Alla MAX & MIN i botten av bilen är jätte bra.
Inga problem. :D

Det måste vart bugg i det andra systemet.

//Patrik

Re: Problem med rrdtool graph

Postat: 10 sep 2008, 23:38
av Plutonium
Gott att det löste sig för dig..

Re: Problem med rrdtool graph

Postat: 15 sep 2008, 20:08
av patriko
Jo. Men nu kör jag på en annan maskin som jag inte vill använda.

Fler som har samma problem som jag.

https://lists.oetiker.ch/pipermail/rrd- ... 13730.html

Om man kör debian på nslu2 + rrd.

Re: Problem med rrdtool graph

Postat: 18 sep 2008, 14:20
av chol
Problem med väldigt långa tider för att generera grafer med RRDTool och GPRINT har jag också haft. Har inte gått till botten med det då jag hittade ett par grafer som funkade fint och räcker för mig som jag använder LINE för att skapa.

Så hör gör jag för att skapa 1 veckas och 24-timmarsgrafer:

RRDp::cmd "graph graphs/$s$opt_s.png --imgformat PNG --start '$starttime' --end
'$endtime' --width $width --height $height -E --title '$title'
--vertical-label
'Celsius' -l 0",
"DEF:".$s."temp=$rrd:temp:AVERAGE",
"LINE2:".$s."temp#FF0000",
# "GPRINT:".$s."temp:LAST:\"%d\\n\"",
"COMMENT:\"$com\"";

Skulle jag kommentera in GPRINT tar det många många minuter(har inte orkat vänta) så det är oanvändbart tyvärr. Nånstans på nätet läste jag nåt rykte om att GPRINT och ARM-baserade arkitekturer inte gick bra ihop. Och våra kära NSLU2:or är ju just det så...

Re: Problem med rrdtool graph

Postat: 18 sep 2008, 17:48
av patriko
chol skrev:Problem med väldigt långa tider för att generera grafer med RRDTool och GPRINT har jag också haft. Har inte gått till botten med det då jag hittade ett par grafer som funkade fint och räcker för mig som jag använder LINE för att skapa.

Så hör gör jag för att skapa 1 veckas och 24-timmarsgrafer:

RRDp::cmd "graph graphs/$s$opt_s.png --imgformat PNG --start '$starttime' --end
'$endtime' --width $width --height $height -E --title '$title'
--vertical-label
'Celsius' -l 0",
"DEF:".$s."temp=$rrd:temp:AVERAGE",
"LINE2:".$s."temp#FF0000",
# "GPRINT:".$s."temp:LAST:\"%d\\n\"",
"COMMENT:\"$com\"";

Skulle jag kommentera in GPRINT tar det många många minuter(har inte orkat vänta) så det är oanvändbart tyvärr. Nånstans på nätet läste jag nåt rykte om att GPRINT och ARM-baserade arkitekturer inte gick bra ihop. Och våra kära NSLU2:or är ju just det så...
Stämmer
Kolla här.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447041
http://www.mail-archive.com/rrd-users@l ... 13686.html

Har försökt kompelera om rrdtool man inte har lyckats. Har för lite tid.

Återkommer när jag har fått ordnig på skiten.
//Pat

Re: Problem med rrdtool graph

Postat: 12 okt 2008, 16:29
av patriko
Så.
Nu funkar det med GPRINT.

Jag har fått installera om min Linksys NSLU2 från Debian till Unslung firmware.
Kör samma skript som förut och nu funkar allt.

Det är sol klart att rrdtool hade en BUGG för debian versionen(Om man ville använda GPRINT).

//patriko

Re: Problem med rrdtool graph

Postat: 12 okt 2008, 22:03
av chol
Tack för tipset!

Buggen är nog inte bara i Debian utan visar sitt tryne även under OpenSlug 3.10.
Inte sugen på Unslung för tillfället dock. Men vem vet, kanske dyker upp en ny optware-variant snart som funkar bättre...

Re: Problem med rrdtool graph

Postat: 13 okt 2008, 22:54
av patriko
elf98 skrev:
ds[ute].value = 3.0381717307e+03
Ser lite galet varmt ut...
Hur kan man förstå denna value?
Kan man räkna om den på något sett??

Ex om kör en

Kod: Markera allt

rrdtool fetch temps2.rrd MAX -r 9000 -s -25h
Så kommer det massa roliga siffror.
Den första kolumn är UNIX time.
Vad är resten?