RRD neukládá hodnoty do databáze

Dalibor Straka dast na panelnet.cz
Pátek Leden 25 19:11:30 CET 2008


Ahoj,

existuji desitky peknych tutorialu, ktere funguji cut&paste. Po vanocich
jsem si z toho delal grafy na WS-3600
http://dada.panelnet.cz/cgi-bin/ws-day.cgi

vytvoreni rrd:

rrdtool create weatherstation.rrd --start N DS:temp-in:GAUGE:600:-50:100
DS:temp-out:GAUGE:600:-50:100 DS:hum-in:GAUGE:600:0:100
DS:hum-out:GAUGE:600:0:100 DS:pressure:GAUGE:600:980:1020
DS:windspeed:GAUGE:600:0:100 DS:rain:GAUGE:600:0:1000
RRA:AVERAGE:0.5:1:300 RRA:AVERAGE:0.5:6:300 RRA:AVERAGE:0.5:24:600
RRA:AVERAGE:0.5:288:600 RRA:MAX:0.5:1:300 RRA:MAX:0.5:6:300
RRA:MAX:0.5:24:600 RRA:MAX:0.5:288:600 RRA:MIN:0.5:1:300
RRA:MIN:0.5:6:300 RRA:MIN:0.5:24:600 RRA:MIN:0.5:288:600

a takto se z toho da vydojit obrazek:

rrdtool graph mygraph.png -a PNG --title="TempTrax" --vertical-label
"Deg C" 'DEF:tempin=weatherstation.rrd:temp-in:AVERAGE'
'DEF:tempout=weatherstation.rrd:temp-out:AVERAGE'
'LINE1:tempin#ff0000:Teplota doma' 'AREA:tempout#cccccc:Teplota venku'
'GPRINT:tempin:LAST:Teplota doma\: %2.1lf C'
'GPRINT:tempout:LAST:Teplota venku\: %2.1lf C\j'

Data do toho cpu upravenym zdrojackem fetch3600.c s vystupem 
  /*
   * output for rrd, template is:
   * temp-in:temp-out:hum-in:hum-out:pressure:windspeed:rain
   * 
   * It was easier to modify fetch3600.c then to write separete
   * perl convertor. 
   */
    sprintf(logline, "%.1f:%.1f:%.1f:%.1f:%.1f:%.1f:%.1f",
            temperature_indoor(data),
            temperature_outdoor(data),
            humidity_indoor(data),
            humidity_outdoor(data),
            abs_pressure(data),
            wind_current(data, winddir),
            rain_1h(data));

Doporucuji jiny tutorial nezli primo doktora oetkera ;)
-- Dalibor Straka



Další informace o konferenci Linux