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!
gnagis
Tar hemautomation på allvar
Inlägg: 82
Blev medlem: 14 maj 2009, 10:08
Ort: Stockholm

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

Inlägg av gnagis »

har skrivit precis som Du och andra snälla som försöker hjälpa mig sagt åt mig att skriva.
kände från början att det kanske har med rättigheter att göra, men Jag är så pass ny i det här, så jag har lite problem att fatta det . . .. . . .
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Hej!
Har inte hunnit sätta mig in i särskilt mycket än så länge, utan det är trial and error/learning by doing.

Jag följer wikiartikeln: http://wiki.temperatur.nu/index.php/RRDtool_HowTo som förvisso är för raspbian wheezy på RPI, men, jag antar att det inte skiljer sig nämnvärt från ubuntu när det gäller mitt problem.

Jag har klistrat in följande kod i en fil som heter create_rrd.sh i /home/pi/bin, och jag har skapat en katalog /home/pi/rrddata

Kod: Markera allt

#!/bin/bash
# Script to create rrd-file 

# 24h with 2,5 min resolution
# 7d with 5 min resolution
# 1y with 10 min resolution
# 20y with 1h resolution

directory="/home/anders/rrddata/"
filename="outside_temp.rrd"

# Check i file already exists
if [ ! -f "$directory$filename" ]
then
	# File doesn't exist, create new rrd-file
	echo "Creating RRDtool DB for outside temp sensor"
	rrdtool create $directory$filename \
		 --step 150 \
		 DS:outsidetemp:GAUGE:300:-50:60 \
		 RRA:AVERAGE:0.5:1:576 \
		 RRA:AVERAGE:0.5:2:2016 \
		 RRA:AVERAGE:0.5:4:52560 \
		 RRA:AVERAGE:0.5:24:175200 \
		 RRA:MAX:0.5:1:5760 \
		 RRA:MAX:0.5:2:2016 \
		 RRA:MAX:0.5:4:52560 \
		 RRA:MAX:0.5:24:175200 \
		 RRA:MIN:0.5:1:5760 \
		 RRA:MIN:0.5:2:2016 \
		 RRA:MIN:0.5:4:52560 \
		 RRA:MIN:0.5:24:175200
	echo "Done!"
else
	echo $directory$filename" already exists, delete it first."
fi
Allt har fungerat, så vitt jag förstår, felfritt hitills. Har kunnat hämta temperatur från givare etc.

Jag får dock ett felmeddelande när jag ska köra scriptet.

Kod: Markera allt

./create_rrd.sh: line 13: if [ ! -f /home/pi/rrdata/outside_temp.rrd ]: No such file or directory
./create_rrd.sh: line 14: syntax error near unexpected token `then'
./create_rrd.sh: line 14: `then' 
Några tips? :)

EDIT---
Efter att ha kikat på lite bash tutorials är jag inte mycket klokare vad det gäller själva koden, kan det vara problem med att kopiera och klistra in från en websida och något som kallas för "line endings"? Nano är tydligen lite dåligt på att hantera sådana.
/Daniel
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Efter att ha köpt ett riktigt tangentbord och inte skriver på ett litet mini, skrivit in hela scriptet för hand så fungerar det bättre. Måhända var det dessa line endings som ställde till det?

Nu fastnar jag istället med följande:

Kod: Markera allt

./create_rrd.sh
Creating RRDtool DB for mobile temp sensor
ERROR: can't parse argument 'echo'
Idéer?
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 »

Posta create_rrd.sh i sin helhet så kan vi se :wink:
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Hej!
Då ska vi se, har ändrat lite på user och sådant för att reflektera hur det ser ut på min pi. Gick igenom en hel del felmeddelanden i själva RRD delen, innan jag slutligen fastnade på vad jag tror är den sista echo raden.
Tack på förhand!

Kod: Markera allt

#!/bin/bash
# Script to create rrd-file

# 24h with 2.5 min resolution
# 7d with 5 min resolution
# 1y with 10 minresolution
# 20 y with 1h resolution
directory="/home/pi/rrddata/"
filename="mobile_temp.rrd"

# check if file already exists
if [ ! -f "$directory$filename" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for mobile temp sensor"
        sudo rrdtool create $direcdtory$filename \
                --step 150 \
                DS:mobiletemp:GAUGE:300:-50:60 \
                RRA:AVERAGE:0.5:1:576 \
                RRA:AVERAGE:0.5:2:2016 \
                RRA:AVERAGE:0.5:4:52560 \
                RRA:AVERAGE:0.5:24:175200 \
                RRA:MAX:0.5:2:5760 \
                RRA:MAX:0.5:2:2016 \
                RRA:MAX:0.5:4:52560 \
                RRA:MAX:0.5:24:175200 \
                RRA:MIN:0.5:1:5760 \
                RRA:MIN:0.5:2:2016 \
                RRA:MIN:0.5:4:52560 \
                RRA:MIN:0.5:24:175200 \
        echo "Done!"
else
        echo $directory$filename" Already exists Delete"
fi
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 »

Raden innan echo "Done!", ta bort \

Skall vara

Kod: Markera allt

RRA:MIN:0.5:24:175200
Det backslash gör är att det som kommer i raden efter tillhör samma rad, ett radbyte i själva kommandot kan man säga, så bash tror att echo tillhör rrdtool create... :wink:
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Aha! :D Tusen tack. Det är det som är problemet med att papegoja kod som man inte fattar vad det betyder. nu vet jag ju faktiskt vad backslashen betyder. Du har inte tips på lite länkar där man kan börja lära sig mer om bash, linux och RRD etc?
Satt med unix för 15 år sedan, och dos innan dess, så det är lite väl rostigt. Men kul!

/Danne
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Hmm, då ska vi se: försöker köra perl scriptet bara för att se om det lirar.

Kod: Markera allt

pi@mobiletemp ~/bin $ ./graph_temp.pl
./graph_temp.pl: line 26: unexpected EOF while looking for matching `"'
./graph_temp.pl: line 27: syntax error: unexpected end of file
Försöker titta igenom koden för att se om jag har kört semikolon isf kolon eller vice versa, hittar inte felet. Får återigen ödmjukt be om lite tips.

Kod: Markera allt


"!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;     #set end time to 24 hours ago
RRDs::graph "/var/www/graph_temp.png",
                "--start= $start_time",
                "--end= $cur_time",
                "--title= Mobil temp",
                "--height= 300",
                "--width= 500",
                "--vertical-label= Grader Celsius",
        "DEF:MobileTemp=/homr/pi/rrddata/mobile_temp.rrd:mobiletemp:AVERAGE",
                "COMMENT:\t\t\t\tNu     Medel   Max     Min\\n",
                "HRULE:0#0000FF",
        "LINE2:MobileTemp#0000FF",
                "GPRINT:MobileTemp:LAST:%6.11f",
                "GPRINT:MobileTemp:AVERAGE:%6.11f",
                "GPRINT:MobileTemp:MAX:%6.11f",
                "GPRINT:MobileTemp:MIN:%6.11f\\n";

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

print "Done!\n"

Ska kanske nämnas att jag först försökte copy 'n pastea koden, men drogs med något osynligt /xc2 som inte lirade särskilt bra i nano. Efter detta skrev jag allting för hand, med risken att det då smyger in sig ett litet fel tydligen.

/Danne
lennart
Gillar hemautomation
Inlägg: 26
Blev medlem: 22 mar 2013, 23:20
Ort: Tjurkö

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

Inlägg av lennart »

I första raden har du fått med 'kaninöron' i början på raden:

"!/usr/bin/perl

Ändra till # så kanske det funkar sedan:

#!/usr/bin/perl
Internet är bara en fluga - som sitter på väggen och lyssnar...
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Tackar, det hjälpte!
Det dök upp ett par fler fel som jag rättade till,
Fastnar dock med med ett felmeddelande som jag antar härrör från slutet:
Problem generating the graph: could not save png to ' /var/www/graph_temp.png'
Done!

Vet inte om det blir någe vajsing med rättigheter, men jag har kört en sudo chmod +x på alla scriptfiler, så rättigheter torde välan finnas?
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 »

Har du skrivrättigheter till /var/www/ ?
Daniel Wennerberg
Wannabe
Inlägg: 9
Blev medlem: 20 sep 2013, 22:56
Ort: Norrköping

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

Inlägg av Daniel Wennerberg »

Hej!
Det som är lite skumt är att det nu har dykt upp en graf, men, jag får fortfarande felmeddelande, plus det där "done!" som ju borde dyka upp bara om saker och ting har fungerat?

Efter lite meckande så körde jag "sudo adduser pi root"
Det kanske är en big no no? Jag fick ju i alla fall skrivrättigheter...
:)
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 »

Funkade det nu?

annars, vad får du om du skriver ls -al /var/www
zipz
Wannabe
Inlägg: 18
Blev medlem: 01 feb 2011, 13:47
Ort: Piteå

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

Inlägg av zipz »

Det verkar saknas en
sudo chmod +x graph_temp.pl
CDK2H
Gillar hemautomation
Inlägg: 44
Blev medlem: 21 nov 2013, 13:55
Ort: Gökalund

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

Inlägg av CDK2H »

CirruZZ skrev:
oJsan skrev:Måste nog tyvärr meddela att det fortfarande är fel för MAX och MIN, där står det fortfarande 5760 (medan det för AVERAGE står 576).
Sorry :oops: uppmärksamt av dig, det är ändrat nu..
Vänta lite nu. Kan någon också se till so howto guiden uppdateras på hemsidan också och inte bara här på forumet.
Skriv svar