❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

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

Příspěvky, které nespadají do žádného z vytvořených fór.
tom-tom
Příspěvky: 1089
Registrován: 20 years ago

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

Příspěvekod tom-tom » 12 years ago

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í?
0 x
T-T

ludvik
Příspěvky: 4448
Registrován: 14 years ago

Příspěvekod ludvik » 12 years ago

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í.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 18 years ago

Příspěvekod hapi » 12 years ago

Az budu u pc tak ti to vysvetlim. Pro zacatek ti reknu ze jsou to agregacni hodnoty predchozich agregaci se zakladem ve step.
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 18 years ago

Příspěvekod hapi » 12 years ago

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.
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

tom-tom
Příspěvky: 1089
Registrován: 20 years ago

Příspěvekod tom-tom » 12 years ago

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?
0 x
T-T

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 18 years ago

Příspěvekod hapi » 12 years ago

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.
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

tom-tom
Příspěvky: 1089
Registrován: 20 years ago

Příspěvekod tom-tom » 12 years ago

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 :)
0 x
T-T

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 18 years ago

Příspěvekod hapi » 12 years ago

ano, ale pouze na dobu 90 dnů. 90 x 1440 = 129600 minut /60 je 2160 hodin /24 je 90 dnů.
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

Leeonek
Příspěvky: 3485
Registrován: 20 years ago

Příspěvekod Leeonek » 12 years ago

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
0 x