Sida 1 av 1

Flera "linjer" i samma graf

Postat: 11 okt 2013, 18:58
av eriel72
Hej alla behöver lite support, är rätt ny på allt vad linux heter men har stor datorvana har varit med sedan C64-tiden

vill plocka in flera temperaturer i samma RRD-bas. har pysslat lite i ett par dagar läst lite trådar och på RRDs hemsida men blir inte klokare.

Men så här har jag gjort:

#!/bin/bash
# script för att skapa en RRD-fil

# 24 timmar med 2.5 miuter upplösning
# 1 vecka med 5 minutrs upplösning
# 1 år med 10 minuters upplösning
# 20 år med 1 timmes upplösning

directory="/home/nordviken/rrddata/"
filename="rum.rrd"

# kolla om filen finns
if [ ! -f "$directory$filename" ]
then
# Om filen inte finns, skapa en ny rrd-fil
echo "Creating RRDTool DB for room temperatrure sensors"
rrdtool create $directory$filename \
--step 150 \
DS:pipe:GAUGE:300:-50:60 \
DS:loose:GAUGE:300:-50:60 \
RRA:AVERAGE:0.5:1:5760 \
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 existes!"
fi
---------

#!/bin/bash

pipe_sensor="10.e31dfa010800"
loose_sensor="10.64472b020800"
RRDDataDirectory="/home/nordviken/rrddata/"
RRDDatafile="rum.rrd"

# Hämta temperaturer från OWFS
pipe=`cat /mnt/1wire/$pipe_sensor/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`
loose=`cat /mnt/1wire/$loose_sensor/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`

# uppdatera RRD database
rrdtool update $RRDDataDirectory$RRDDatafile N:$pipe:$loose
echo [$pipe:$loose]
----------

#!/usr/bin/perl

use RRDs;

my $cur_time = time() ;
my $start_time = $cur_time - 84600 ;

RRDs::graph"/var/www/temp.png",
"--start= $start_time",
"--end= $cur_time",
"--title= vardagsrum och element",
"--height= 300",
"--width= 500",
"--vertical-label= C",
"DEF:rum=/home/nordviken/rrddata/rum.rrd:loose:AVERAGE",
"DEF:pipe=/home/nordviken/rrddata/rum.rrd:pipe:AVERAGE",
"COMMENT:\t\t\t\tNu Medel Max Min\\n",
"HRULE:20.5#0000ff",
"LINE2:pipe#ff0000:Elemet",
"LINE2:rum#00ff00:rum\t\t\t",
"GPRINT:rum:LAST:%6.1lf",
"GPRINT:rum:AVERAGE:%6.1lf",
"GPRINT:rum:MAX:%6.1lf",
"GPRINT:rum:MIN:%.1lf\\n";

my $err=RRDs::error;
if ($err) {print "problem med att skapa grafen: $err\n";}

print "done!\n"


Någonstans skiter det sig då ajg bara får "nul"-värden i basen

tacksam för hjälp
\erik

Re: Flera "linjer" i samma graf

Postat: 11 okt 2013, 23:59
av CirruZZ
Om du kör uppdateringen av rrd filerna, får du något resultat på slutet, tänker på vad echo [$pipe:$loose] säger.

Re: Flera "linjer" i samma graf

Postat: 13 okt 2013, 10:48
av eriel72
Har delvis löst det genom att använda två RRD-baser, men det känns lite lamt, måste gå att trycka in flera värden "parallellt" i RRDTool, någon som vet hur? :?:

Re: Flera "linjer" i samma graf

Postat: 13 okt 2013, 13:50
av CirruZZ
Absolut visst kan du det, MEN, det krävs mer planering. att ha flera olika värden i samma RRD är kanske en ide om det rör sig om samma pryl, dvs värdena hör ihop. Du kan inte i efterhand lägga till ytterligare en mätpunkt i rrd'n. När den väl är skapad så är den "låst".

Men annars tycker jag att det är bättre att ha separata RRD för varje mätpunkt. Rent utrymmesmässigt så spar du inget utrymme på disken om du slår ihop dom, filen blir bara dubbelt så stor.

Re: Flera "linjer" i samma graf

Postat: 13 okt 2013, 18:54
av elf98
Hur ofta kör du hämtningsscriptet? Output/felmeddelande?

Varför köra en så udda step som 150 sekunder? Det är ganska bökigt att spara data med 2,5 minuters mellanrum. Visst kan man mata in data oftare och låta rrdn medelvärdesbilda, men det är generellt bättre att använda sig av något som är jämnt delbart med 60.

Re: Flera "linjer" i samma graf

Postat: 13 okt 2013, 20:56
av CirruZZ
elf98 skrev:Varför köra en så udda step som 150 sekunder?

det är jag som har skrivit guiden så för länge sedan, mitt fel... å inte ändrat den... :roll:

Re: Flera "linjer" i samma graf

Postat: 14 okt 2013, 20:08
av eriel72
Ok tack för bra feedback, skall ändra lite i koden, skall börja logga ack-tankarna, pannan samt fram och returvärme. Har även monterat två DS18S20 på huset, har planer på att börja leverera till temperatur.nu

Re: Flera "linjer" i samma graf

Postat: 25 nov 2013, 10:32
av CDK2H
CirruZZ skrev:
elf98 skrev:Varför köra en så udda step som 150 sekunder?

det är jag som har skrivit guiden så för länge sedan, mitt fel... å inte ändrat den... :roll:
Aha sånt här kan man alltså inte ändra efteråt i samma fil, blir graferna buggiga då eller funkar dom men bara att man själv måste ha koll på när ändringen gjordes så man får se och tänka i andra banor?

Re: Flera "linjer" i samma graf

Postat: 25 nov 2013, 19:07
av CirruZZ
Tyvärr kan man inte ändra det i efterhand, inte enkelt i varje fall. Tyvärr!