/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Problemer med RRDTool
Fra : Joe


Dato : 16-02-11 12:52

Jeg er sikker på, at jeg stirre mig blind på dette problem, men jeg
kan ikke få RRDTool til at vise noget på sin graf. Hvis jeg har
følgende:

Oprettelse:
rrdtool create power.rrd \
\
--start N \
--step 60 \
\
DS:tpower:COUNTER:120:U:U \
\
RRA:MIN:0.5:1:2880 \
RRA:MIN:0.5:5:2016 \
RRA:MIN:0.5:30:2976 \
RRA:MIN:0.5:60:4320 \
RRA:MIN:0.5:120:4380 \
RRA:MIN:0.5:360:1460 \
RRA:MIN:0.5:720:2190 \
RRA:MIN:0.5:1440:3650 \
\
RRA:AVERAGE:0.5:1:2880 \
RRA:AVERAGE:0.5:5:2016 \
RRA:AVERAGE:0.5:30:2976 \
RRA:AVERAGE:0.5:60:4320 \
RRA:AVERAGE:0.5:120:4380 \
RRA:AVERAGE:0.5:360:1460 \
RRA:AVERAGE:0.5:720:2190 \
RRA:AVERAGE:0.5:1440:3650 \
\
RRA:MAX:0.5:1:2880 \
RRA:MAX:0.5:5:2016 \
RRA:MAX:0.5:30:2976 \
RRA:MAX:0.5:60:4320 \
RRA:MAX:0.5:120:4380 \
RRA:MAX:0.5:360:1460 \
RRA:MAX:0.5:720:2190 \
RRA:MAX:0.5:1440:3650 \
\
RRA:LAST:0.5:1:2880 \
RRA:LAST:0.5:5:2016 \
RRA:LAST:0.5:30:2976 \
RRA:LAST:0.5:60:4320 \
RRA:LAST:0.5:120:4380 \
RRA:LAST:0.5:360:1460 \
RRA:LAST:0.5:720:2190 \
RRA:LAST:0.5:1440:3650 \

Update:
rrdtool updatev power.rrd N:10
rrdtool updatev power.rrd N:15
rrdtool updatev power.rrd N:30

Graf:
rrdtool graph power_1hour.png \
--start -3600 \
--step 60 \
--width 600 \
--height 400 \
--x-grid MINUTE:1:MINUTE:5:MINUTE:5:0:%H\:%M \
--y-grid 1:2 \
--units-length 3 \
--title "Sidste 60 minutter (1 minuts interval)" \
--vertical-label "Watt" \
DEF:tpower=power.rrd:tpower:LAST \
VDEF:tpower-min=tpower,MINIMUM \
VDEF:tpower-avg=tpower,AVERAGE \
VDEF:tpower-max=tpower,MAXIMUM \
VDEF:tpower-last=tpower,LAST \
COMMENT:" \l" \
COMMENT:" Minimum" \
COMMENT:" Gennemsnit" \
COMMENT:" Maksimum" \
COMMENT:" Aktuel\l" \
LINE3:tpower#000080:"Total forbrug" \
GPRINT:tpower-min:"%12.0lf%S" \
GPRINT:tpower-avg:"%10.0lf%S" \
GPRINT:tpower-max:"%10.0lf%S" \
GPRINT:tpower-last:"%10.0lf%S\l" \
COMMENT:" \l" \
COMMENT:"Sidst opdateret `date +\"%Y-%m-%d %H\:%M\"`\l" \

Hvorfor vil den ikke vise noget overhovedet? Den viser bare at
værdierne er NaN.

 
 
Hans Jørgen Jakobse~ (16-02-2011)
Kommentar
Fra : Hans Jørgen Jakobse~


Dato : 16-02-11 22:52

On Wed, 16 Feb 2011 11:52:09 -0800 (PST), Joe wrote:
> Jeg er sikker på, at jeg stirre mig blind på dette problem, men jeg
> kan ikke få RRDTool til at vise noget på sin graf. Hvis jeg har
> følgende:
>
> Oprettelse:
> rrdtool create power.rrd \
> \
> --start N \
> --step 60 \
> \
> DS:tpower:COUNTER:120:U:U \
> \
> RRA:MIN:0.5:1:2880 \
> RRA:MIN:0.5:5:2016 \
> RRA:MIN:0.5:30:2976 \
> RRA:MIN:0.5:60:4320 \
> RRA:MIN:0.5:120:4380 \
> RRA:MIN:0.5:360:1460 \
> RRA:MIN:0.5:720:2190 \
> RRA:MIN:0.5:1440:3650 \
> \
>
.............
> Update:
> rrdtool updatev power.rrd N:10
> rrdtool updatev power.rrd N:15
> rrdtool updatev power.rrd N:30
>
Medmindre du har noget delay (i størrelsesordnen af step) vil
det hele blive gemt i den samme bin.
Har du prøvet at lave en dump af filen (rrdtool dump)

Noget andet: Jeg ville nu nok lave færre aggregeringer.
fx kan 60 og 120 slås sammen og du får 1t opløsning i den
dobbelte tid med samme pladsforbrug.

(har fejlagtigt været mailed, sorry)
/hjj

Joe (16-02-2011)
Kommentar
Fra : Joe


Dato : 16-02-11 23:51

> > Jeg er sikker på, at jeg stirre mig blind på dette problem, men jeg
> > kan ikke få RRDTool til at vise noget på sin graf. Hvis jeg har
> > følgende:
>
> > Oprettelse:
> > rrdtool create power.rrd \
> >   \
> >   --start N \
> >   --step 60 \
> >   \
> >   DS:tpower:COUNTER:120:U:U \
> >   \
> >   RRA:MIN:0.5:1:2880 \
> >   RRA:MIN:0.5:5:2016 \
> >   RRA:MIN:0.5:30:2976 \
> >   RRA:MIN:0.5:60:4320 \
> >   RRA:MIN:0.5:120:4380 \
> >   RRA:MIN:0.5:360:1460 \
> >   RRA:MIN:0.5:720:2190 \
> >   RRA:MIN:0.5:1440:3650 \
> >   \
>
> ............
> > Update:
> > rrdtool updatev power.rrd N:10
> > rrdtool updatev power.rrd N:15
> > rrdtool updatev power.rrd N:30

> Medmindre du har noget delay (i størrelsesordnen af step) vil
> det hele blive gemt i den samme bin.

Der er naturligvis delay imellem. Én per minut.

> Har du prøvet at lave en dump af filen (rrdtool dump)

Ja, jeg synes ikke jeg kan se mine værdier.

> Noget andet: Jeg ville nu nok lave færre aggregeringer.
> fx kan 60 og 120 slås sammen og du får 1t opløsning i den
> dobbelte tid med samme pladsforbrug.

60 og 120?

Jeg har sammenlægninger ved 1 minut, 5m, 30m, 60m osv... ikke ved 1 og
2 minutter. Ellers forstår jeg ikke hvad du mener?

Burde ovenstående eksempel ikke fungere out-of-the-box?

Hans Jørgen Jakobse~ (17-02-2011)
Kommentar
Fra : Hans Jørgen Jakobse~


Dato : 17-02-11 20:27

On Wed, 16 Feb 2011 22:50:42 -0800 (PST), Joe wrote:
>> > Jeg er sikker på, at jeg stirre mig blind på dette problem, men jeg
>> > kan ikke få RRDTool til at vise noget på sin graf. Hvis jeg har
>> > følgende:
>>
>> > Oprettelse:
>> > rrdtool create power.rrd \
>> >   \
>> >   --start N \
>> >   --step 60 \
>> >   \
>> >   DS:tpower:COUNTER:120:U:U \
>> >   \
>> >   RRA:MIN:0.5:1:2880 \
>> >   RRA:MIN:0.5:5:2016 \
>> >   RRA:MIN:0.5:30:2976 \
>> >   RRA:MIN:0.5:60:4320 \
>> >   RRA:MIN:0.5:120:4380 \
>> >   RRA:MIN:0.5:360:1460 \
>> >   RRA:MIN:0.5:720:2190 \
>> >   RRA:MIN:0.5:1440:3650 \
>> >   \
>>
>> ............
>> > Update:
>> > rrdtool updatev power.rrd N:10
>> > rrdtool updatev power.rrd N:15
>> > rrdtool updatev power.rrd N:30
>
>> Medmindre du har noget delay (i størrelsesordnen af step) vil
>> det hele blive gemt i den samme bin.
>
> Der er naturligvis delay imellem. Én per minut.
>
>> Har du prøvet at lave en dump af filen (rrdtool dump)
>
> Ja, jeg synes ikke jeg kan se mine værdier.
>
prøvede et par gange og fandt:
m@8/testrrd> rrdtool updatev power.rrd N:10
return_value = 0
m@8/testrrd> rrdtool updatev power.rrd N:15return_value = 0
[1297968480]RRA[MIN][1]DS[tpower] = NaN
[1297968480]RRA[AVERAGE][1]DS[tpower] = NaN
[1297968480]RRA[MAX][1]DS[tpower] = NaN
[1297968480]RRA[LAST][1]DS[tpower] = NaN
m@8/testrrd> rrdtool updatev power.rrd N:30
return_value = 0
[1297968540]RRA[MIN][1]DS[tpower] = 1.1364491343e-01
[1297968540]RRA[AVERAGE][1]DS[tpower] = 1.1364491343e-01
[1297968540]RRA[MAX][1]DS[tpower] = 1.1364491343e-01
[1297968540]RRA[LAST][1]DS[tpower] = 1.1364491343e-01
m@8/testrrd>
Dvs kun 1 datapunkt registreret. Måske lidt lidt til at tegne en linie.
Har dog også set 2 datapunkter. Kan ikke lige gennemskue om det
skyldes at der blev startet for tidligt efter create eller fordi
der blev starte i første/sidste halvdel af minut.

Prøv et par punkter mere.

Hvis ikke succes så prøv at droppe step i graph. Den vil normalt vælge
"den rigtig".

Og det er en nyeste rrdtool?

>> Noget andet: Jeg ville nu nok lave færre aggregeringer.
>> fx kan 60 og 120 slås sammen og du får 1t opløsning i den
>> dobbelte tid med samme pladsforbrug.
>
> 60 og 120?
>
> Jeg har sammenlægninger ved 1 minut, 5m, 30m, 60m osv... ikke ved 1 og
> 2 minutter. Ellers forstår jeg ikke hvad du mener?
>
  RRA:MIN:0.5:60:4320 \
  RRA:MIN:0.5:120:4380 \
De første 2160 punkter i 2t RRA overlapper med 1t RRA'en.
Drop 2t RRA'en og lav 1t RRA'en dobbelt så stor. Det )fylder (ca) det samme.
Og større opløsning længere tilbage.
/hjj

Joe (17-02-2011)
Kommentar
Fra : Joe


Dato : 17-02-11 13:51

> prøvede et par gange og fandt:
> m@8/testrrd> rrdtool updatev power.rrd N:10
> return_value = 0
> m@8/testrrd> rrdtool updatev power.rrd N:15return_value = 0
> [1297968480]RRA[MIN][1]DS[tpower] = NaN
> [1297968480]RRA[AVERAGE][1]DS[tpower] = NaN
> [1297968480]RRA[MAX][1]DS[tpower] = NaN
> [1297968480]RRA[LAST][1]DS[tpower] = NaN
> m@8/testrrd> rrdtool updatev power.rrd N:30
> return_value = 0

Jeg prøvede også lige manuelt, ligesom dig, da jeg må indrømme, at jeg
har pakket det ind i et script. Når jeg gjorde det manuelt kunne jeg
også godt få tegnet en streg og efter lidt tid fandt jeg fejlen i mit
script. Jeg havde ' ved min shell_exec (PHP) istedet for " og det er
vist noget med, at variabler fortolkes på forskellig måde så - men nu
kommer der tal ind.

Men... jeg forstår ikke tallene der kommer ind:

Watts=[17886]
return_value = 0
[1297974720]RRA[MIN][1]DS[tpower] = 5.9624031927e-01
[1297974720]RRA[AVERAGE][1]DS[tpower] = 5.9624031927e-01
[1297974720]RRA[MAX][1]DS[tpower] = 5.9624031927e-01
[1297974720]RRA[LAST][1]DS[tpower] = 5.9624031927e-01

Hvordan kan den skrive 5.9xxxxe-01 når tallet er 17886? Tallet er jo
ikke midlet eller andet og jeg ville forvente, at få det rigtige tal
ind her. Ligeledes viser grafen det helt forkert.

Jeg måler i watt - ét minut kan forøge counteren med cirka 40-90.

Hvorfor nu det?

> >> Noget andet: Jeg ville nu nok lave færre aggregeringer.
> >> fx kan 60 og 120 slås sammen og du får 1t opløsning i den
> >> dobbelte tid med samme pladsforbrug.
>
>    RRA:MIN:0.5:60:4320 \
>    RRA:MIN:0.5:120:4380 \
>
> De første 2160 punkter i 2t RRA overlapper med 1t RRA'en.
> Drop 2t RRA'en og lav 1t RRA'en dobbelt så stor. Det )fylder (ca) det samme.
> Og større opløsning længere tilbage.

Nå på den måde - jo, det kan jeg godt se, men jeg har ikke brug for så
detaljeret en opløsning så lang tid tilbage (356 dage). Men jeg
overvejer det lige. Vil RRDTool selv kunne finde ud af at at midle
korrekt, hvis jeg f.eks. vælger 364 dage tilbage, at den så tager det
fra 1 minutes intervallet?

Joe (18-02-2011)
Kommentar
Fra : Joe


Dato : 18-02-11 07:54

> Men... jeg forstår ikke tallene der kommer ind:
>
> Watts=[17886]
> return_value = 0
> [1297974720]RRA[MIN][1]DS[tpower] = 5.9624031927e-01
> [1297974720]RRA[AVERAGE][1]DS[tpower] = 5.9624031927e-01
> [1297974720]RRA[MAX][1]DS[tpower] = 5.9624031927e-01
> [1297974720]RRA[LAST][1]DS[tpower] = 5.9624031927e-01
>
> Hvordan kan den skrive 5.9xxxxe-01 når tallet er 17886? Tallet er jo
> ikke midlet eller andet og jeg ville forvente, at få det rigtige tal
> ind her. Ligeledes viser grafen det helt forkert.
>
> Jeg måler i watt - ét minut kan forøge counteren med cirka 40-90.
>
> Hvorfor nu det?

Er der ingen gode bud på denne?

Niels Baggesen (18-02-2011)
Kommentar
Fra : Niels Baggesen


Dato : 18-02-11 17:01

Joe <joespam8@gmail.com> wrote:
> > Jeg måler i watt - ét minut kan forøge counteren med cirka 40-90.
> >
> > Hvorfor nu det?

> Er der ingen gode bud på denne?

Du definerede det som en COUNTER, så den har nok omregnet det til
Watt/sec ... Du mener nok snarere en GAUGE sådan som du vil se det?

/Niels

--
Niels Baggesen -- @home -- Århus -- Denmark -- niels@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming

Joe (18-02-2011)
Kommentar
Fra : Joe


Dato : 18-02-11 09:27

> > > Hvorfor nu det?
> > Er der ingen gode bud p denne?
>
> Du definerede det som en COUNTER, s den har nok omregnet det til
> Watt/sec ... Du mener nok snarere en GAUGE s dan som du vil se det?

Nej, en GAUGE er en værdi-her-og-nu måling (f.eks. temperatur eller
hastighed) hvor en COUNTER hele tiden forøges set fra sidste tal.

Men jeg har nu lavet det om således, at jeg rent faktisk bruger en
GAUGE, men så er det også et andet tal jeg kommer i databasen (det
faktiske forbrug af watt per minut).

Hans Jørgen Jakobse~ (18-02-2011)
Kommentar
Fra : Hans Jørgen Jakobse~


Dato : 18-02-11 19:02

On Fri, 18 Feb 2011 08:26:42 -0800 (PST), Joe wrote:
>> > > Hvorfor nu det?
>> > Er der ingen gode bud p denne?
>>
>> Du definerede det som en COUNTER, s den har nok omregnet det til
>> Watt/sec ... Du mener nok snarere en GAUGE s dan som du vil se det?
>
> Nej, en GAUGE er en værdi-her-og-nu måling (f.eks. temperatur eller
> hastighed) hvor en COUNTER hele tiden forøges set fra sidste tal.
>
> Men jeg har nu lavet det om således, at jeg rent faktisk bruger en
> GAUGE, men så er det også et andet tal jeg kommer i databasen (det
> faktiske forbrug af watt per minut).

Som Niels skriver, så omregnes en COUNTER til "pr sekund", så for at
få noget der ligner dit input, så skal du gange med 60.
Og du skal være opmærksom på at du kan generelt ikke få dine eksakte
aflæsninger tilbage fra rrddatabasen.

Og så for at være lidt pedantisk så har du vist lidt rod i dine enheder.
Effekt måles i watt. Forbrug måles i watt-sekunder(eller en passende
skalering)
/hjj

Joe (18-02-2011)
Kommentar
Fra : Joe


Dato : 18-02-11 17:59

Jeg fatter ikke en meter af RRDTool - det indrømmer jeg gerne. Jeg har
problemer med selv de simpleste ting og nu er klokken blevet alt for
mange.

F.eks. hvordan dividere jeg et tal, hvis det er for stort? Jeg har
denne sætning:

CDEF:total-mod=total,1000,LT,total,total,1000,/,IF \

Jeg vil gerne at den dividere tallet med 1000, hvis den er over 1000
og ellers skal den bare vise tallet. Jeg har problemer med at hvis
"total" er over 1000, så vises det som kilo og det er ubrugeligt i mit
tilfælde. Jeg vil have pæne tal hvor 990 skal skrives som sådan og
1010 også skal skrives sådan... ikke 0k og 1k som den ellers gør.

Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407870
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste