MagnusM skrev:
Kod: Markera allt
rrdtool create temperatur-inne.rrd -s 180 DS:temp_inne:GAUGE:1200:0:U RRA:AVERAGE:0.5:1:175200 RRA:AVERAGE:0.5:20:87600
-s (step) är databasens minsta upplösning i sekunder. Step är basen i RRA-definitionerna. Om du trycker in värden oftare eller mer sällan kommer mjukvaran att räkna fram värden för var 180de sekund.
Varje databas kan bestå av flera DS (DataSources).
GAUGE: Den lagrar värdet som rapporteras och gör ingen beräkning på det.
GAUGE: är vilken typ av data som lagras. Det finns flera varianter där de vanligaste är:
GAUGE "Mätare" ex temperatur, antal personer i ett rum, Hastighet.
COUNTER "Räknare" Värden som kontinuerligt ökar och aldrig minskar (förutom när räknaren når sitt maxvärde och börjar om från 0). Tex: Pulser från en elmätare, datatrafik på ett nätverkskort
DERIVE "Derivatan" Helt enkelt derivatan av linjen från det nuvarande till det senaste värdet. Kan användas i stället för GAUGE om du vill veta med vilken hastighet förändringen sker.
ABSOLUTE Räknare där värdet nollställs vid varje läsning.
1200: Heartbeat = 1200sec = 20 minuter = Varför är det satt och vad betyder det?
Heartbeat är hur lång tid det får gå mellan databasinmatningar (heartbeats!) innan ett värde klassas som okänt. Om du inte matar in värden på 20 minuter kommer det att stå NaN i databasen för den tiden. Om du matar in data med 19 minuters mellanrum kommer mjukvaran att räkna fram värden för var tredje minut och lägga in i databasen. (Under förutsättning att du har en RRA där 1 step utgör en datapunkt )
0: Miniumumvärde, men vad händer om det är negativt?
Om värdet som du försöker lägga in är mindre än min läggs inte något värde in.
U: Maximum, inge begränsning?
Exakt. Om du specar ett maxvärde fungerar det på samma sätt som min.
Nu kommer vi till själva databasspecifikationen. Du kan ha flera RRA (Round Robin Archive) och varje specad RRA gäller för varje definierad DS.
AVERAGE: Hur den ska beräkna värdena.. typ…
Anger hur RRDtool skall beräkna datapunkterna, har störst effekt på RRAer där du skall sammanställa över tid. (Vanligtvis så sparar du inte all data med högsta upplösningen under lång tid)
AVERAGE Medelvärde
MIN Det minsta värde
MAX Det största värdet
LAST Det senaste värdet
Hur man än gör tappar man information, vilken CF (consolidation function) som skall väljas beror helt på vad du vill åstadkomma. På temperatur.nu har jag AVERAGE, MIN & MAX - för att kunna få fram alla dessa värden även över tid.
0.5: Ingen aning
"xff The xfiles factor defines what part of a consolidation interval may be made up from *UNKNOWN* data while the consolidated value is still regarded as known. It is given as the ratio of allowed *UNKNOWN* PDPs to the number of PDPs in the interval. Thus, it ranges from 0 to 1 (exclusive)."
Jag har inte stenkoll på den har variabeln, sätter du den till 0 kommer du i längre sammanställningar tappa mycket information, sätter du den till 1 kommer medelvärdena att kunna bli lite knasiga.
1: Ingen aning
Hur många "Steps" - i ditt fall 180 sekunder - den här RRAn skall medelvärdesbilda över för varje datapunkt. I den här RRAn sparas värden för var 180de sekund.
175000: Ingen aning
Hur många datapunkter den här RRAn består av. Databasen kommer att sträcka sig över 1*180*175000=31500000sekunder. ~1 år
0.5
Samma som ovan.
20
I den här RRAn är varje datapunkt beräknad från 20 steps, dvs 20*180sek=1h.
87600
RRAn är uppbyggd av 87600 datapunkter, dvs 87600 timmar, ~10år.
Varför 2 ggr. Den lägger upp 2 ”spaces” i databasen för att generera 2 olika average? Uppenbarligen baserat på de siffror som finns ovan, men vad betyder de?
För att i ett kort perspektiv vill du kunna skapa detaljerade grafer. I ett längre perspektiv räcker det med lite sämre upplösning.
Det går ju mycket snabbare att skapa en graf över 1år med medelvärden över 1h (8760 punkter) än med medelvärden över 3min (175000 datapunkter).
Personligen tycker jag att det är overkill att spara högsta upplösningen i ett år. Jag skulle skapa en RRA där högsta upplösningen sparas i 3 månader, en RRA där medelvärden över 20 eller 30 minuter sparas i 1år och en RRA där medelvärden över 1h sparas i 10år.