Flera "linjer" i samma graf

RRDTool är en Linuxmjukvara som kan användas för att lagra data i Round-Robin Databaser för att sedan generera grafer utifrån den lagrade datan.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
eriel72
Wannabe
Inlägg: 10
Blev medlem: 24 feb 2013, 17:49
Ort: LÅNGSHYTTAN

Flera "linjer" i samma graf

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

Re: Flera "linjer" i samma graf

Inlägg 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.
eriel72
Wannabe
Inlägg: 10
Blev medlem: 24 feb 2013, 17:49
Ort: LÅNGSHYTTAN

Re: Flera "linjer" i samma graf

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

Re: Flera "linjer" i samma graf

Inlägg 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.
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5419
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Flera "linjer" i samma graf

Inlägg 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.
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Flera "linjer" i samma graf

Inlägg 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:
eriel72
Wannabe
Inlägg: 10
Blev medlem: 24 feb 2013, 17:49
Ort: LÅNGSHYTTAN

Re: Flera "linjer" i samma graf

Inlägg 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
CDK2H
Gillar hemautomation
Inlägg: 44
Blev medlem: 21 nov 2013, 13:55
Ort: Gökalund

Re: Flera "linjer" i samma graf

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

Re: Flera "linjer" i samma graf

Inlägg av CirruZZ »

Tyvärr kan man inte ändra det i efterhand, inte enkelt i varje fall. Tyvärr!
Skriv svar