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.
Många guider finner också på vår blogg: https://blog.m.nu/
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

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

Inlägg av CirruZZ »

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!)
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

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

Inlägg av CirruZZ »

Troy McClure skrev:...
Jag lekte mig fram, hade ingen aning från början.
Det är så man lär sig! :D
Användarvisningsbild
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

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

Inlägg av Troy McClure »

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
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

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

Inlägg av Troy McClure »

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
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

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

Inlägg av Troy McClure »

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
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

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

Inlägg av Troy McClure »

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
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

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

Inlägg av HUSKii »

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
Dowser
Hemautomation - det är mer än en hobby
Inlägg: 811
Blev medlem: 10 mar 2007, 09:44
Ort: Trosa
Kontakt:

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

Inlägg av Dowser »

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
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

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

Inlägg av Troy McClure »

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"
swedtap
Wannabe
Inlägg: 11
Blev medlem: 19 jan 2009, 13:51
Ort: Örebro

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

Inlägg av swedtap »

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
Skriv svar