HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Hur gör man för att ... ? Hur fungerar ... ? Steg för steg-guider och förklarande artiklar finns i detta forum.

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav CirruZZ » 04 jan 2009, 18:06

Ang den "hackade" grafen! Jag upptäckte precis en liten miss i mitt upplägg. :roll:

Vid skapandet av RRD databasen så sätts --step 150 vilket motsvarar 2,5 min. Det innebär att den räknar med att bli "matad" med info i den intervallen.
Senare sätter vi DS:outsidetemp:GAUGE:300:-50:60 där 300 är heartbeat, och det motsvarar 5 min.
Missen är att cron är satt till att köra var 5:e minut vilket är PRECIS på gränsen, där av att det blir hackat!

Enklast är att ändra cron till att köra var 2,5'e minut.
Kod: Markera allt
*/2.5 * * * *           /home/anders/bin/get_temp.sh
*/2.5 * * * *           export LANG=sv_SE.utf8 && /home/anders/bin/graph_temp.pl


Alternativt är att ändra RRD filen med hjälp av rrdresize men det är en helt egen fråga! :wink:

(Jag uppdaterar guiden!)
Projekt tråd | Blogg | Hemautomation
Rapporterar för : Ystad & Duved
Användarvisningsbild
CirruZZ
Master Moderator
 
Inlägg: 1284
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Annons


Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav CirruZZ » 04 jan 2009, 18:07

Troy McClure skrev:...
Jag lekte mig fram, hade ingen aning från början.


Det är så man lär sig! :D
Projekt tråd | Blogg | Hemautomation
Rapporterar för : Ystad & Duved
Användarvisningsbild
CirruZZ
Master Moderator
 
Inlägg: 1284
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 04 jan 2009, 18:24

TACKAR för skriptet!!

Okej, så med andra ord kör du 2 get_temp.sh i crontab med?
Eller du har fixat det skriptet så att du hämtar data från båda givarna i det skriptet?
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Troy McClure » 04 jan 2009, 18:55

HUSKii skrev:TACKAR för skriptet!!

Okej, så med andra ord kör du 2 get_temp.sh i crontab med?
Eller du har fixat det skriptet så att du hämtar data från båda givarna i det skriptet?

Problemet är att givarna sitter på olika datorer, därav en egen fullösning. get_temp.sh hämtar dels från givaren på den datorn, dels ett värde från en temp.txt i den andra datorns www-mapp.
Användarvisningsbild
Troy McClure
Väderfreak
 
Inlägg: 65
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 05 jan 2009, 01:55

Skulle man kunna få ta ett kik på det skriptet med?

För isåfall är det ju sen bara att köra flera graph_temp.pl för att få ut grafer på andra givare om jag inte har fattat det fel.
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Troy McClure » 05 jan 2009, 12:12

HUSKii skrev:Skulle man kunna få ta ett kik på det skriptet med?

För isåfall är det ju sen bara att köra flera graph_temp.pl för att få ut grafer på andra givare om jag inte har fattat det fel.

Du borde börja leka med de befintliga scripten. Har du två givare är det bara att göra "same procedure" för dessa liksom. Mina fullösningar kommer inte hjälpa, snarare stjälpa, ifall du inte sitter på exakt samma miljöer med servrar, webbhotell och annat. Det är en oerhörd omväg för det du vill göra.

Men här kommer ett litet förslag på hur du uppdaterar tre rrd-filer från tre givare. Rakt ut ur huvudet bara, kanske inte funkar.
Kod: Markera allt
#!/bin/bash

OutsideTempSensor="xxxxxxxxxxxxxx"
IndoorTempSensor="yyyyyyyyyyyyyy"
AquaTempSensor="zzzzzzzzzzzzzzzz"
RRDDataDirectory="/home/huskii/rrddata/"
RRDDataFileOut="outside_temp.rrd"
RRDDataFileIn="indoor_temp.rrd"
RRDDataFileAqua="aqua_temp.rrd"

# Get temps
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
sleep 2;
IndoorTemp=`cat /mnt/1wire/$IndoorTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
sleep 2;
AquaTemp=`cat /mnt/1wire/$AquaTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`

#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFileOut N:$OutsideTemp
sleep 5;
rrdtool update $RRDDataDirectory$RRDDataFileIn N:$IndoorTemp
sleep 5;
rrdtool update $RRDDataDirectory$RRDDataFileAqua N:$AquaTemp
#echo $OutsideTemp
#echo $AquaTemp

Sleep-grejerna är med bara för att man inte ska få noll-värden ifall någon läsning inte är färdig.
Användarvisningsbild
Troy McClure
Väderfreak
 
Inlägg: 65
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 05 jan 2009, 15:43

Okej, jag kunde inte tänka mej att det skulle vara så "enkelt" som att bara lägga till fler rader så, ska testa det skriptet sen.
Tack så mycket iaf.
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Troy McClure » 05 jan 2009, 16:30

HUSKii skrev:Okej, jag kunde inte tänka mej att det skulle vara så "enkelt" som att bara lägga till fler rader så, ska testa det skriptet sen.
Tack så mycket iaf.

Du måste givetvis också skapa dessa rrd-filer. Men det har du ju redan gjort en gång, så det är bara att tillverka fler.
Användarvisningsbild
Troy McClure
Väderfreak
 
Inlägg: 65
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 05 jan 2009, 16:40

Jo så långt hänger jag med.
Det är ju bara att ändra lite i create_rrd.sh för varje databas och sen köra den, 1gång för varje givare.
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Troy McClure » 05 jan 2009, 16:45

HUSKii skrev:Jo så långt hänger jag med.
Det är ju bara att ändra lite i create_rrd.sh för varje databas och sen köra den, 1gång för varje givare.

Precis! Tror du börjar lämna stadiet då du ser all programmering som hokus pokus, och inträder i stadiet då du börjar fatta hur och att saker faktiskt är logiska och hänger ihop! :wink:
Användarvisningsbild
Troy McClure
Väderfreak
 
Inlägg: 65
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 05 jan 2009, 16:58

Det jag hoppas lyckas med till slut är något i stil med CirruZZ hemsida,
dvs en sida som visar en 24 timmars graf för varje givare.

När man sen klickar på t.ex grafen för ute temperature,
så ska man komma till en sida där man kan se grafer över 24 timmar, 7dagar och en graf över månaden.

Får se hur långt jag lyckas. :)
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav HUSKii » 06 jan 2009, 03:28

Troy McClure skrev:...
Men här kommer ett litet förslag på hur du uppdaterar tre rrd-filer från tre givare. Rakt ut ur huvudet bara, kanske inte funkar.
...

Jag provade det skriptet, it works like a charm. Lade till en givare till, så nu får jag 24 timmars grafer på ute temp, inne temp, akvarie temp och tempen inne i den tunna klienten. :D

Tack vare att detta forumet finns, med så trevliga och hjälpsamma medlemmar har jag också lyckats att få fina temperaturgrafer.
Nu saknas som sagt bara långtids grafer. Men det kommer nog snart, får vi hoppas iaf. :)
Användarvisningsbild
HUSKii
Amatörmeterolog
 
Inlägg: 251
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Dowser » 06 jan 2009, 04:50

För att få långtids-grafer, eller kortare tid för den del, är det bara att labba med värdena i graf-scriptet.
Men det kan ju vänta någon dag så att du har lite historisk data att arbeta med. :)

Men insammlings-scripten behöver altså inte förändras, utan de är klara och skall bara tuffa på.
Användarvisningsbild
Dowser
Moderator
 
Inlägg: 782
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav Troy McClure » 06 jan 2009, 11:48

HUSKii skrev:Tack vare att detta forumet finns, med så trevliga och hjälpsamma medlemmar har jag också lyckats att få fina temperaturgrafer.
Nu saknas som sagt bara långtids grafer. Men det kommer nog snart, får vi hoppas iaf. :)


Här är mitt script för en veckas ute- och innetemp. Bara att ändra värdet på raden "my $start_time = $cur_time - 604800;" för att få andra intervall.
Kod: Markera allt
#!/usr/bin/perl

sleep 25;

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 604800;     # set end time to 7*24 hours ago

RRDs::graph "/var/www/graph_temp_w.png",
         "--start= $start_time",
         "--end= $cur_time",
         "--title= Temp ute/inne",
         "--height= 300",
         "--width= 500",
         "--vertical-label= °C",
         "DEF:OutsideTemp=/root/rrddata/outside_temp.rrd:outsidetemp:AVERAGE",
         "DEF:IndoorTemp=/root/rrddata/indoor_temp.rrd:outsidetemp:AVERAGE",
         "COMMENT:\t\t\t\tNu     Medel    Max    Min\\n",
         "HRULE:0#FF00FF",
         "LINE2:OutsideTemp#0000FF:Ute\t\t\t",
         "GPRINT:OutsideTemp:LAST:%6.1lf",
         "GPRINT:OutsideTemp:AVERAGE:%6.1lf",
         "GPRINT:OutsideTemp:MAX:%6.1lf",
         "GPRINT:OutsideTemp:MIN:%6.1lf\\n",
         "HRULE:18#FFFF00",
         "LINE2:IndoorTemp#00FF00:Inne\t\t",
         "GPRINT:IndoorTemp:LAST:%6.1lf",
         "GPRINT:IndoorTemp:AVERAGE:%6.1lf",
         "GPRINT:IndoorTemp:MAX:%6.1lf",
         "GPRINT:IndoorTemp:MIN:%6.1lf\\n";

my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"
Användarvisningsbild
Troy McClure
Väderfreak
 
Inlägg: 65
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: HOWTO: RRDtool på Ubuntu (installera, logga, rita graf)

Inläggav swedtap » 10 feb 2009, 22:03

Hej, jag har ett litet problem med min rrd-fil.

När jag kör "rrdtool fetch outside_temp.rrd AVERAGE -s -1h" så får jag bara upp en massa rader som ser ut så här:
1234294350: inf
1234294500: inf
1234294650: inf
1234294800: inf
osv....
Om jag skriver in tex "rrdtool update outside_temp.rrd N:-3" verkar det som filen uppdateras om man kollar på datumet men det står i alla fall "1234294...: inf" på alla rader. Får inte upp en enda rad med temperatur.

Vad är det jag har missat? Har följt den här guiden och även flera andra inklusive den på rrdtools tutorials men det funkar inte. Blir snart tokig på det här!

/R
swedtap
Wannabe
 
Inlägg: 10
Blev medlem: 19 jan 2009, 13:51
Ort: Örebro

FöregåendeNästa

Återgå till Guider/Artiklar/How to

Vilka är online

Användare som besöker denna kategori: Google Adsense [Bot] och 5 gäster