Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: xxx1 13. 04. 2018, 06:45:15

Název: RRDtool a zápis do databáze po hodnotách
Přispěvatel: xxx1 13. 04. 2018, 06:45:15
Zdravím Vás, najde se tu někdo, kdo v tom umí?

Takto se krmí databáze:

Kód: [Vybrat]
ret = rrd_update('cesta', 'N:%s:%s:%s' %(x1.strip(), x2.strip(), x3.strip()));
Půjde to nějak pořešít, aby se každá hodnota do databáze zapisovala zvlášt?
Myslím tím v programu 3 řádky a každý by zapisoval do databaze jinou hodnotu x1,x2,x3.
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: jk 13. 04. 2018, 09:06:45
Ne, update musí mít všechny metriky najednou. Plyne to z toho, jak RRDtool funguje.

Ale příkaz pro update se dá skládat postupně. Většina knihoven k RRDtoolu jsou pouze wrappery kolem řádkového rozhraní, takže se tam dá ten aktualizační příkaz postupně skládat.
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: xxx1 16. 04. 2018, 09:17:07
Děkují, mužů ještě dotaz?

Zajímalo by mně, zda se dá vykreslit denní graf s určitého dne a nejradějí od půlnocí do půlnoci.
Bych chtěl 3 grafy
4 hodinový   start -4h
Denní    start -1d
A pak včera od půlnocí do půlnoci.

jde mi o to abych grafy umístil na php stránku.
U včerejšího grafu by bylo po každé straně tlačítko, a já si mohl v grafu po dnech listovat




Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: fubar 16. 04. 2018, 14:21:05
rrdtool graph se predavaji parametry --start a --end, tak si proste vypocitas unixtime vcerejsi pulnoci (napr. parametrem programu date)
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: xxx1 30. 04. 2018, 08:59:47
Neporadí někdo jak by měl být ten --start a --end, když bych chtěl třeba vykreslit graf za včerejšek od půlnocí do púlnocí?
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: Mikan 30. 04. 2018, 13:59:37
Neporadí někdo jak by měl být ten --start a --end, když bych chtěl třeba vykreslit graf za včerejšek od půlnocí do púlnocí?

Tak to asi jren tak od boku nikdo. Na strance s priklady toho je dost - https://oss.oetiker.ch/rrdtool/doc/rrdgraph_examples.en.html.

Zalezi na strukture rrd databaze,jaka data tam jsou ukladana a jak se maji prezentovat. Pak by se dalo poradit.

Jinak pro vypis neni potreba pocitat ani unixtime, pokud se jedna o aktualni grafy, tak start bude pro denni now-1d a end bude now.

Ale to je v dokumentaci pekne popsane. Doporucuji prostudovat a pak je to snadne.
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: xxx1 02. 05. 2018, 07:33:08
Mi jde o to abych měl na PHP stránce 2 grafy.
Jeden od aktualního času do půlnoce a druhý včera od půlnoce do půlnoce.
Vedle toho druhého by byli po obou stranách tlačítka a já si mohl v grafu listovat po dnech.

bash skript se dá spustit v PHP přes exec a dá se při volaní bash skriptu i předávat parametry takže by to mělo jít..

Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: Milan 02. 05. 2018, 09:45:49
Tak já bych to udělal tak, že do cronu bych si zapsal dva příkazy a s tím, že jeden by proběhl po půlnoci a vygeneroval by obrázek s grafem za ten minulý den a ten si nějak logicky uložil. A pak už jen nějaký script, který by se koukl, jestli takový obrázek (další, minulý) existuje. Protože generovat ty grafy pořád je asi zbytečné. Samozřejmě by to asi jinak i šlo vymyslet on-time.
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: Rudolf 02. 05. 2018, 10:09:57
Ja to pouzivam takto, treba to nekomu pomuze:

create_graph_24 (){
#vytvoreni grafu za jeden den

  [ -z "$DEBUG" ] || echo "`date +%d-%m-%y\ %H:%M:%S`   vytvarim graf $1"

  rrdtool graph $1                                 \
         --start 'end-24h' \
         --end   'now+20min' \
         --title "Graf vyvoje teploty za 24 hodin" \
    --watermark http://www.cokoliv.cz \
    --alt-autoscale \
    --vertical-label 'st C' \
    --imgformat     'PNG' \
    --width=600 \
    --height=250 \
         DEF:teplota=$2/$3:teplota:AVERAGE              \
    "CDEF:mtemp1=teplota,1,*" \
    "LINE1.9:mtemp1#ff0000:Teplota venku" \
    "GPRINT:mtemp1:MIN:(min\\: %.1lf stC" \
    "GPRINT:mtemp1:AVERAGE:avg\\: %.1lf stC" \
    "GPRINT:mtemp1:MAX:max\\: %.1lf stC" \
    "GPRINT:mtemp1:LAST:current\\: %.1lf C)\\n" \
    "LINE3:0#0000ff"
}
Název: Re:RRDtool a zápis do databáze po hodnotách
Přispěvatel: xxx1 07. 05. 2018, 07:09:48
No mi jde spiš o to.
Mam na php strance 4 hod a 24 hod graf.
Bych chtěl ještě jeden o den zpátky, který by ukazoval data od půlnoci do půlnoci
Po každé stráně toho grafu by bylo tlačítko, přes které bych si moh v grafu listovat po dnech.