Stránka 1 z 1

Měření teploty a ukládání do RRD (RRDtools)

Napsal: 08 Dec 2012 18:11
od tom-tom
Tak mám tady jedno teplotní čidlo od Papoucha a chtěl bych s ním měřit venkovní teplotu (už měřím), když už nám začalo přituhovat :)
Ukládám to do rrd a rrd mi taky generuje graf. Zajímá mě, jak správně nastavit vytvoření rrd souboru, aby se mi data uchovávaly alespoň rok nebo dva.
Prvně se mi to nepodařilo moc dobře, data starší jak 2,5 hodiny se mi ztratily, pak jsem podle stránek projektu vypočítal ty hodnoty trochu jinak,
vypadá to, že už vydrží déle, ale pořád nějak nerozumím tomu, co jsem tam nastavil :)

Kód: Vybrat vše

    RRDs::create ("temperature.rrd", "--start",$start-1, "--step",60,
        "DS:temperature:GAUGE:600:-120:120",
        "RRA:AVERAGE:0.5:1:129600",
        "RRA:AVERAGE:0.5:5:25920",
        "RRA:AVERAGE:0.5:30:4320",
        "RRA:AVERAGE:0.5:90:1440",
        "RRA:MIN:0.5:1:129600",
        "RRA:MIN:0.5:5:25920",
        "RRA:MIN:0.5:30:4320",
        "RRA:MIN:0.5:90:1440",
        "RRA:MAX:0.5:1:129600",
        "RRA:MAX:0.5:5:25920",
        "RRA:MAX:0.5:30:4320",
        "RRA:MAX:0.5:90:1440",
        );


Ten první řádek je mi jasný, název souboru a data každou minutu, druhý řádek název zdroje, typ dat a rozsah hodnot... ale to ostatní, proč tam musí být tolikrát??? :)
Můžete sem pastnout kód, jak definujete rrd vy pro vaše měření?

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 09 Dec 2012 10:08
od ludvik
Ač ti asi moc neporadím - prostuduj si třeba soft HotSaNIC.
Ty řádky definují jednotlivé "řezy". Jaká funkce se použije, rozsah hodnot (myslím) a za jaké období.

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 09 Dec 2012 10:52
od hapi
Az budu u pc tak ti to vysvetlim. Pro zacatek ti reknu ze jsou to agregacni hodnoty predchozich agregaci se zakladem ve step.

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 10 Dec 2012 09:12
od hapi
RRA:AVERAGE:0.5:1:129600 --step=60

to znamená že se veme to druhý číslo od konce a jelikož je 1 tak se uloží každej step tedy každá hodnota jednou za 60 sekund. Poslední číslo udává počet záznamů.

RRA:AVERAGE:0.5:5:25920 a stejný step

znamená že veme posledních celích 5 minut (5x1 minuta stepu) (5 hodnot uložený rychlostí stepu) a zagreguje je do jedný hodnoty. Tady se už uplatňuje AVERAGE, MAX, MIN a podle toho vytvoří ten záznam. Opět poslední číslo udává počet záznamů.

RRA:AVERAGE:0.5:30:4320 stejný step

znamená že se veme 30 minut (30x1 minuta stepu) a zagreguje se uplně stejně jako příklad předtím. Tady máme 30 minut a záznamů je 4320 což dává 30x4320=129600 nebo 90dní pokud počítám správně.

Je důležitý si správně rozvrhnout rozlišení protože jinak výsledný grafy budou vypadat otřesně. Jako příklad mohu uvést grafy v nixu. Maji to chytře nasamplovaný takže i měsíční graf reflektuje denní/noční poklesy/špičky a přesto nedochází k degradaci zobrazení při použití moc jemného rozlišení.

Dál bych chtěl připomenout to, že při těch agregačních indexech dochází k významnému nárůstu spotřeby CPU. Pokud ukládáme hodnoty po stepu tak se jenom přepisují hodnoty ale pokud se dojde na agregační řádek který vytváří v druhym příkladě každých 5 minut nový záznam z předchozích 5 minut takže dokde k větší zátěži CPU. To samí platí ve třetím případě kdy se každých 30 minut počítá hodnota za posledních 30 minut a opět zátěž na víc + vytížení disku. V jednotkách grafů to nevadí ale při něčem tak masivním jako sběr dat pro 1000 userů už je to sakra znát a je třeba s tim počítat.

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 10 Dec 2012 20:50
od tom-tom
Jestli tomu dobře rozumím, tak
RRA:AVERAGE:0.5:1:129600 představuje při step=60 reálná data
RRA:AVERAGE:0.5:5:25920 pětiminutový průměr
RRA:AVERAGE:0.5:30:4320 třicetiminutový průměr?

A celé to je takhle kvůli čemu? Snížení zátěže při generování grafů?
Třeba když chci vygenerovat 24h graf dat např. nasbíraných před měsícem, použijou se data z první RRA,
když by se generoval týdenní graf, použije se RRA s 5ti minutovým průměrem, nebo jiná, tak aby systém co nejmíň data přepočítával na daný rozsah?

K tomu počtu záznamů - první RRA 129600 mi bude archivovat data po minutách celých 90 dnů, pak se začnou starší přepisovat, správně?
Kua, když na to teď tak koukám, tak mám všechny RRA jen na 90 dnů a pak mi to začne přepisovat, co?

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 10 Dec 2012 22:09
od hapi
Přelož si co je RRD. Děláš jednu chybu. Máš tam 129600 "syrových" záznamů. To je poměrně hodně. Proto se dělá agregace aby byla velikost RRD menší. Schválně, jak máš teď velkej ten soubor? No ale to nevadí.

grafy se generují podle toho kolik toho mají ukázat. Pokud ukážeš dejme tomu podle tvýho příkladu posledních 80 dnů tak se veme nejbližší jemný rozlišení což je první řádek. Pokud ale překročíš 90 dnů (zpravidla to bývá už dříve) tak se použije druhej řádek. RRD má sloužit pro agregování se stárnutím v čase. Nedostaneš sice absolutní hodnoty ale kdo taky potřebuje něco logovat víc jak rok. Jistě, můžeš si nastavit milion hodnot na první řádek a ostatní úplně vynechat. Dá se tušim agregace použít i při kreslení do grafu takže sice bereš ty nejjemnější data ale můžeš si je sám pro zobrazení zagregovat jak chceš na určitej fiktivní hrubší step.

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 11 Dec 2012 02:47
od tom-tom
Jo takhle.. asi tomu už rozumím. V tom případě by mi ty čtyři řádky měly zajistit žrádlo pro graf na 360 dnů zpětně s tím, že každé 3 měsíce se mi ty starší data agregnou,
takže za rok budu mít data z dneška agregovaná podle čtvrtého řádku - na 90 minut.

Kód: Vybrat vše

RRA:AVERAGE:0.5:1:129600
RRA:AVERAGE:0.5:5:25920
RRA:AVERAGE:0.5:30:4320
RRA:AVERAGE:0.5:90:1440

V tom případě budu muset tu databázi upravit, protože v grafu počítám s historií 400 dnů (obšlehnul jsem období podle smokepingu).
Jinak, soubor RRD má 3.7MB, to snad není tak moc :)

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 11 Dec 2012 07:08
od hapi
ano, ale pouze na dobu 90 dnů. 90 x 1440 = 129600 minut /60 je 2160 hodin /24 je 90 dnů.

Re: Měření teploty a ukládání do RRD (RRDtools)

Napsal: 11 Dec 2012 08:34
od Leeonek
tom-tom: já jsem zpočátku dost čerpal tady, má to tu všechno pěkně rozepsané
http://www.jankus.cz/index.php?id=3&t=41