RRDtool a zápis do databáze po hodnotách

xxx1

RRDtool a zápis do databáze po hodnotách
« kdy: 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.
« Poslední změna: 13. 04. 2018, 07:57:34 od Petr Krčmář »


jk

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #1 kdy: 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.

xxx1

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #2 kdy: 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





fubar

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #3 kdy: 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)

xxx1

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #4 kdy: 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í?


Mikan

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #5 kdy: 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.

xxx1

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #6 kdy: 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..


Milan

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #7 kdy: 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.

Rudolf

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #8 kdy: 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"
}

xxx1

Re:RRDtool a zápis do databáze po hodnotách
« Odpověď #9 kdy: 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.