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
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 »

I nano sparar du den i ett annat namn och ser om den nya filen funkar. Ctrl-O och sedan väljer du namn, Ctrl-X för att avsluta nano. Det står ju "converted from DOS", vilket borde innebära att ^M är borta ur filen.

För övrigt gillar jag nano bra mycket bättre än vi eller vim. Favoriten är dock emacs.

För att installera:

Kod: Markera allt

sudo apt-get install emacs
Tutorial:
http://www.columbia.edu/acis/publications/emacs.html
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 »

Nu har jag tagit bort de gamla skripten och skrivit in de på nytt.
Nu händer det lite andra saker, när jag kör:

Kod: Markera allt

get_temp.sh
i mappen:

Kod: Markera allt

/home/huskii/bin
Så får jag detta som svar:

Kod: Markera allt

ERROR: opening '/home/huskii/rrddata/': Is a directory
2.32
och när jag kör:

Kod: Markera allt

graph_temp.pl
Så kommer detta:

Kod: Markera allt

problem generating the graph: bad format for GPRINT in '%6.11f'
Done!
Ska kolla igenom graph_temp.pl NOGA nu.
Det verkar ha kommit lite framåt iaf. :o

EDIT: Har kollat nu, ser ingen skillnad mot guiden i närheten av raderna med GPRINT/%6.11f i sig. :(
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 »

Ang. get_temp.sh:
Har du kollat så att det står helt rätt på raderna som innehåller "RRDDataFile"?
Det verkar som att det värdet inte kommit med.

Är alla dollartecken och fnuttar med som de ska?
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 »

Jag provade att lägga till filnamnet i raden med RRDDataDirectory:

Kod: Markera allt

#!/bin/bash

OutsideTempSensor="10.51777C010800"
RRDDataDirectory="/home/anders/rrddata/outside_temp.rrd"
RRDDataFile="outside_temp.rrd"

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

#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
echo $OutsideTemp
När jag sen körde skriptet genom att skriva:

Kod: Markera allt

sudo ./get_temp.sh
så fick jag detta som svar:

Kod: Markera allt

-3.56
Jag har kollat skriptet flera gånger och jag kan inte se någon skillnad från guiden.
Kan det inte vara så att det saknas nåt simpelt tecken i guiden?
Skulle inte någon som har ett fungerande skript kunna lägga upp det på nätet så att jag kan ladda ner det och prova?
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 »

-3.56 borde vara aldeles korrekt resultat när du kör det scriptet. (Förutsatt att det är korrekt temperatur, men det verkar ju rimligt.)

Den sista raden i scriptet: echo $OutsideTemp
är just för att skriva den aktuella temeraturen till std-out. (Du vill kommentera bort den när du kör i drift sedan, men nu är den bra att ha som referens.)

Felmeddelandet du fick tidigare, innan temperaturen är ju nu borta.

Vad händer nu om du kör graph_temp.pl?
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 »

Problemet som jag ser det med denna "lösning" är ju att

Kod: Markera allt

RRDDataDirectory="/home/anders/rrddata/outside_temp.rrd"
RRDDataFile="outside_temp.rrd"
och

Kod: Markera allt

rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
kommer att resultera i att rrdtool kommer att försöka uppdatera en fil som heter:
/home/anders/rrddata/outside_temp.rrdoutside_temp.rrd
(För det första ska det väl stå HUSKii, inte anders, där?)

Det som det andra citatet gör är att lägga variablerna i det första citatet efter varandra utan någonting emellan.
$RRDDataDirectory innehåller det du skrivit mellan fnuttarna efter likhetstecknet på raden med RRDDataDirectory i det första citatet, och $RRDDataFile innehåller på samma sätt det filnamn du satt in på den andra raden. Som det är nu blir det kaka på kaka.

Detta är egentligen inget hokus pokus, du kan om du vill skippa allt i det första citatet och istället skriva in hela sökvägen och filnamnet i raden som börjar med rrdtool. Det är där allt händer, det andra är till för att göra scriptet mer överskådligt med variabler där du kan skriva in olika värden, ifall du skulle vilja byta fil eller sökväg av någon anledning. Eller som nu, för att andra ska kunna se var de ska ändra i CirruZZ howto.

Detta är mina motsvarande rader i get_temp.sh:

Kod: Markera allt

RRDDataDirectory="/root/rrddata/"
RRDDataFile="outside_temp.rrd"

rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
Här ska du byta ut "/root" mot "/home/HUSKii" ifall det är vad din katalog heter. Det ska alltså vara en slash sist på första raden, efter rrddata, inget filnamn. Det ska du ha på den andra raden.
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 »

Jag har lyst med min frånvaro i form av support till howto'n. Men vi verkar ju jobba på det bra! :wink:

Precis som Troy McClure skriver så går det att skippa dom variablerna helt, och istället skriva sökväg och fil direkt i rrdtool update. Att dom finns där är bara för att göra det mer överskådligt. Fritt fram att bara ändra som man vill!
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 »

Dowser skrev:Vad händer nu om du kör graph_temp.pl?
När jag kör:

Kod: Markera allt

graph_temp.pl
i mappen /home/huskii/bin så får jag följande svar:

Kod: Markera allt

Problem generating the graph: bad format for GPRINT in '%6.11f'
Troy McClure skrev:Problemet som jag ser det med denna "lösning" är ju att

Kod: Markera allt

RRDDataDirectory="/home/anders/rrddata/outside_temp.rrd"
RRDDataFile="outside_temp.rrd"
och

Kod: Markera allt

rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
kommer att resultera i att rrdtool kommer att försöka uppdatera en fil som heter:
/home/anders/rrddata/outside_temp.rrdoutside_temp.rrd:

(För det första ska det väl stå HUSKii, inte anders, där?)
Iochmed att jag inte har ett GUI till Ubuntu server så kopierade jag skriptet från guiden
men glömde ändra givar id och username.

Här kommer hela skriptet som jag har:

Kod: Markera allt

#!/bin/bash

OutsideTempSensor="10.3AD85F010800"
RRDDataDirectory="/home/huskii/rrddata/"
RRDDataFile="outside_temp.rrd"

# Get temps from OWFS

OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`

# Update RRD database
rrdtool update $RRDDataDirectory$RRDataFile N:$OutsideTemp
echo $OutsideTemp
Nu när jag skrev detta så såg jag att i raden:

Kod: Markera allt

rrdtool update $RRDDataDirectory$RRDataFile N:$OutsideTemp
Hade jag skrivit ett litet "f" i RRDDataFile
När jag sen kör:

Kod: Markera allt

sudo ./get_temp.sh
får jag detta som svar:

Kod: Markera allt

-7.5
det är en väldigt rimlig temp här just nu.

Finns det något sett att kolla så att get_temp.sh fungerar? kan man öppna outside_temp.rrd på något vis och kolla att det sparas?
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 »

Kan du klippa in *exakt* vad som står i din graph_temp.pl?

Det går att öppna rrd-filen i vilken text-läsare som helst, men den är lite halv-klurig att läsa manuellt, vi kan ta det i nästa steg.
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 »

HUSKii skrev:...
Finns det något sett att kolla så att get_temp.sh fungerar? kan man öppna outside_temp.rrd på något vis och kolla att det sparas?
Japp! Ställ dig i rrddata katalogen, sen

Kod: Markera allt

rrdtool fetch outside_temp.rrd AVERAGE -s -1h
Då får du alla värden för senaste timmen som är sparade, bör likna följande...

Kod: Markera allt

anders@DomoticsSrv:~/rrddata$ rrdtool fetch outside_temp.rrd AVERAGE -s -1h
                    outsidetemp

1231059450: -3.8348485420e+00
1231059600: -3.8100000000e+00
1231059750: -3.7989092856e+00
1231059900: -3.7500000000e+00
1231060050: -3.7500000000e+00
1231060200: -3.7500000000e+00
1231060350: -3.7500000000e+00
1231060500: -3.7234826845e+00
1231060650: -3.6800000000e+00
1231060800: -3.6800000000e+00
1231060950: -3.6215744132e+00
1231061100: -3.6200000000e+00
1231061250: -3.5851744220e+00
1231061400: -3.5600000000e+00
1231061550: -3.5600000000e+00
1231061700: -3.5600000000e+00
1231061850: -3.5249583896e+00
1231062000: -3.5000000000e+00
1231062150: -3.4313994162e+00
1231062300: -3.4300000000e+00
1231062450: -3.4300000000e+00
1231062600: -3.4300000000e+00
1231062750: -3.4300000000e+00
1231062900: -3.4300000000e+00
1231063050: nan
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 »

Du har skrivit RRData och inte RRDData på raden med rrdtool. Ett litet, men dödligt misstag!
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 »

Dowser skrev:Kan du klippa in *exakt* vad som står i din graph_temp.pl?
Härt kommer det:

Kod: Markera allt

#!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;           # set endtime to 24 hours ago

RRDs::graph "/var/www/graph_temp.png",
         "--start= $start_time",
         "--end= $cur_time",
         "--title= Temperatur ute hos Henrik",
         "--height= 300",
         "--width= 500",
         "--vertical-label= °C",
         "DEF:Outside_temp=/home/huskii/rrddata/outside_temp.rrd:outsidetemp:AVERAGE",
         "COMMENT:\t\t\t\tNu     Medel    Max     Min\\n",
         "HRULE:0#0000FF",
         "LINE2:OutsideTemp#0000FF:Ute\t\t\t",
         "GPRINT:OutsideTemp:LAST:%6.11f",
         "GPRINT:OutsideTemp:AVERAGE:%6.11f",
         "GPRINT:OutsideTemp:MAX:%6.11f",
         "GPRINT:OutsideTemp:MIN:%6.11f\\n";

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

print "Done!\n"
Jag provade att skriva:

Kod: Markera allt

rrdtool fetch outside_temp.rrd AVERAGE -s -1h
Jag fick ett svar som var likt det du visade, men ca 60% av raderna slutade med "nan". Provade att skriva ovanstående en stund senare, då hade det komit in fler tempraturer men det var fortfarande ca 45-50% av raderna som slutade med "nan".
Såhär ser det ut när jag körde det senast:

Kod: Markera allt

1231061400: nan
1231061550: nan
1231061700: nan
1231061850: nan
1231062000: nan
1231062150: nan
1231062300: -7.6200000000e+00
1231062450: nan
1231062600: nan
1231062750: -7.4816821970e+00
1231062900: -7.4816821970e+00
1231063050: -7.3206093120e+00
1231063200: -7.3206093120e+00
1231063350: -7.3111752680e+00
1231063500: -7.3111752680e+00
1231063650: nan
1231063800: nan
1231063950: -7.0469222890e+00
1231064100: -7.0469222890e+00
1231064250: nan
1231064400: nan
1231064550: -6.9851620505e+00
1231064700: -6.9851620505e+00
1231064850: nan
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:Du har skrivit RRData och inte RRDData på raden med rrdtool. Ett litet, men dödligt misstag!
Det var bara jag som missat i inlägget, kollade i script filen, det var rätt där.
Det varkar som om att get_temp.sh och create_rrd.sh fungerar nu, återstår bara att fixa graph_temp.pl.
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 »

Kan du klippa och klistra det scriptet du använder istället för att skriva av det?
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 »

Dowser skrev:Kan du klippa och klistra det scriptet du använder istället för att skriva av det?
Jag kör OWFS på ubuntu server utan GUI på en tunn klient.
Hur klipper man och klistrar från en dator med ett textbaserat OS över nätverket till en laptop med windows vista?
Magi? :D

EDIT: Provade att köra detta igen:

Kod: Markera allt

rrdtool fetch outside_temp.rrd AVERAGE -s -1h
EDIT 2: Det blir en väldans massa rader med "nan"
Skriv svar