Problem att lagra värden ett och ett i RRA

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!
MartinF
Tar hemautomation på allvar
Inlägg: 141
Blev medlem: 04 jan 2010, 12:24
Ort: Sunne

Problem att lagra värden ett och ett i RRA

Inlägg av MartinF »

Min kod skulle tjäna på om jag kan lägga ned värdena ett och ett i rra-filen. Provade därför detta:

Kod: Markera allt

sub RRA_update {
	(my $variable, $value)=@_;
    	RRDs::updatev $RRDDataFile, '-t', $variable, "N:$value" or die "ERROR while updating RRD: ". RRDs::error(). "\n"}
Problemet är att det funkar bara med det första DS jag skickar in, det verkar som att RRDTool inte klarar flera anrop efter varandra. Någon som har någon idé som löser problemet?
Albin polar 35,Laddomat, 3x750l, Danfoss ECL 100 & Sfinxs solfångare. Loggar och styr vedpanna, elpatron, solfångare, motorvärme och mycket annat med 1-wire, zwave, och webswitch via Domoticz.
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Problem att lagra värden ett och ett i RRA

Inlägg av daromer »

Förstår inte din frågeställning och förmodar att du menar RRD och inte RRA :)

Ivf menar du att du vill lagra ett värde per DS åt gången. dvs första gången lagra värde i dsen som heter XX sedan nästa gång i Dsen som heter YY ?

Vad för fel får du?


Har faktiskt inte testat det ovan om det nu r det du vill. Jag kör 1 st rrd-fil per DS.
MartinF
Tar hemautomation på allvar
Inlägg: 141
Blev medlem: 04 jan 2010, 12:24
Ort: Sunne

Re: Problem att lagra värden ett och ett i RRA

Inlägg av MartinF »

RRA tror jag står för Round Robin Archive - dvs den princip enligt vilken RRD är byggd?

Bara det dataset jag först skickar data till uppdateras och jag får inga felmeddelanden, bara Nan, Nan , Nan... på de övriga.
Albin polar 35,Laddomat, 3x750l, Danfoss ECL 100 & Sfinxs solfångare. Loggar och styr vedpanna, elpatron, solfångare, motorvärme och mycket annat med 1-wire, zwave, och webswitch via Domoticz.
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Problem att lagra värden ett och ett i RRA

Inlägg av elf98 »

Kod: Markera allt

RRDs::updatev $RRDDataFile, '-t', $variable, "N:$value"
N anger att du skall lägga in ett värde med nuvarande timestamp. Det går aldrig att lägga in värden tidigare än det senast inlagda värdet.

Jag fick intrycket att du ska återskapa en databas, men så kanske inte är fallet?

Exakt vad är det du försöker göra?
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
MartinF
Tar hemautomation på allvar
Inlägg: 141
Blev medlem: 04 jan 2010, 12:24
Ort: Sunne

Re: Problem att lagra värden ett och ett i RRA

Inlägg av MartinF »

Tanken är att lägga data i två databaser samtidigt: MySql och RRD.
Förmodligen inte den bästa koden, men typ så här:

Kod: Markera allt

sub setvar {
	(my $variable, $value)=@_;
	 my $sql = "SELECT count(*) FROM settings WHERE variable='$variable' GROUP BY variable";
	 	@result = $dbh->selectrow_array($sql, undef, @params);
	if (@result[0]==0) 
		{createvar($variable, $value)} 
	else {$sql = "UPDATE settings SET value = '$value' WHERE variable='$variable'";
	 	$sth = $dbh->prepare($sql);
	 	$sth->execute or die "SQL Error: $DBI::errstr\n"}
	if ($variable ~~ @Logvars) {RRA_update($variable, $value)}}
Att tanka ner allt samtidigt i RRD drar gärna till sig buggar. Det blir ju en ganska lång lista av variabler som måste ligga i rätt ordning.
Albin polar 35,Laddomat, 3x750l, Danfoss ECL 100 & Sfinxs solfångare. Loggar och styr vedpanna, elpatron, solfångare, motorvärme och mycket annat med 1-wire, zwave, och webswitch via Domoticz.
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Problem att lagra värden ett och ett i RRA

Inlägg av daromer »

Och vad är då problemet? Förstår fortsfarande inte vad som skulle vara problem. Det enda problemet jag kan se är som det Elf beskriver. När du försöker använda flera DS samtidigt. då måste man lägga alla värden på de olika dserna samtidigt. Alternativt göra som jag gör. 1 st rrd för varje ds.

För att lägga in ett värde i mysql kontra rrd är ju inge problem ivf...
MartinF
Tar hemautomation på allvar
Inlägg: 141
Blev medlem: 04 jan 2010, 12:24
Ort: Sunne

Re: Problem att lagra värden ett och ett i RRA

Inlägg av MartinF »

Ja, problemet är just det att det inte går att lägga till data annat än samtidigt till samma RRD. Elfs förklaring låter rimlig, men vd ska då --template vara bra för?
En RRD för varje DS är ju f.ö. också en flexibel lösning för att lägga till eller ta bort DS, men nu har jag ju data från ett helt år ...
Albin polar 35,Laddomat, 3x750l, Danfoss ECL 100 & Sfinxs solfångare. Loggar och styr vedpanna, elpatron, solfångare, motorvärme och mycket annat med 1-wire, zwave, och webswitch via Domoticz.
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Problem att lagra värden ett och ett i RRA

Inlägg av daromer »

Jag kör en fil för varje. Har inte ork att krabba med alla i samma.

Tar inte många minuter att fylla en rrd med data för ett år. Tar jag bort en fil så dröjer det en kvart så finns där en ny. :)

Du kan skjuta in xxxx värden åt gången per rad i en rrd. Så läser man ut alla värden och batchar in 500 åt gången så går det undan att fylla en rrddatabas med värden för ett år åt gången om man nu vill det.


Så här står det om template:
The template switch allows you to specify which data sources you are going to update and in which order. If the data sources specified in the template are not available in the RRD file, the update process will abort with an error message.
While it appears possible with the template switch to update data sources asynchronously, RRDtool implicitly assigns non-COMPUTE data sources missing from the template the *UNKNOWN* value.
Det tolkar jag som att man kan få välja ordning endast. Och att man fortsfarande måste fylla på värden för alla annars kommer resterande DS få Unknown som value.
MartinF
Tar hemautomation på allvar
Inlägg: 141
Blev medlem: 04 jan 2010, 12:24
Ort: Sunne

Re: Problem att lagra värden ett och ett i RRA

Inlägg av MartinF »

Det är så det ska tolkas, jag ser det nu.
Får ta en fundering hur jag ska lägga upp det i ställlet.
Albin polar 35,Laddomat, 3x750l, Danfoss ECL 100 & Sfinxs solfångare. Loggar och styr vedpanna, elpatron, solfångare, motorvärme och mycket annat med 1-wire, zwave, och webswitch via Domoticz.
Skriv svar