Kod: Markera allt
#!/usr/bin/perl
#
# rrd_tempsensor.pl
use lib qw(/usr/local/rrdtool-1.2.15/lib/perl);
use RRDs;
# define location of rrdtool databases
my $rrd = './';
# define location of images
my $img = './';
# create graphs for current sensor
&CreateGraph($_[0], "day", $_[1]);
&CreateGraph($_[0], "week", $_[1]);
&CreateGraph($_[0], "month", $_[1]);
&CreateGraph($_[0], "year", $_[1]);
sub CreateGraph
{
# creates graph
# inputs: $_[0]: sensor number (ie, 0/1/2/etc)
# $_[1]: interval (ie, day, week, month, year)
# $_[2]: sensor description
RRDs::graph "$img/temps2.png",
"-s -1$_[1]",
"-t $_[2]",
"--lazy",
"-h", "150", "-w", "475",
"-a", "PNG",
"--slope-mode",
"DEF:ute=$rrd/temps2.rrd:ute:AVERAGE",
"LINE2:ute#0000FF::",
"GPRINT:ute:MIN: Min\\: %6.1lf",
"GPRINT:ute:MAX: Max\\: %6.1lf"
}
Kod: Markera allt
1220900400: 1.3250000000e+01 2.5562500000e+01 1.6625000000e+01
1220900700: 1.3202286045e+01 2.5587983074e+01 1.6504089015e+01
1220901000: 1.3187500000e+01 2.5577052529e+01 1.6293657586e+01
1220901300: 1.3117758017e+01 2.5562500000e+01 1.6180258018e+01
1220901600: 1.2934038140e+01 2.5562500000e+01 1.6008287290e+01
1220901900: 1.2694070125e+01 2.5562500000e+01 1.5813619901e+01
1220902200: 1.2558079921e+01 2.5562500000e+01 1.5683079921e+01
1220902500: 1.2406700388e+01 2.5510636500e+01 1.5422819036e+01
1220902800: 1.2255071124e+01 2.5562500000e+01 1.5317571124e+01
1220903100: 1.2187888054e+01 2.5510596923e+01 1.5224373468e+01
Kod: Markera allt
server:~/rrd# rrdtool info temps.rrd
filename = "temps.rrd"
rrd_version = "0003"
step = 300
last_update = 1220903347
ds[ute].type = "GAUGE"
ds[ute].minimal_heartbeat = 600
ds[ute].min = -5.0000000000e+01
ds[ute].max = 6.0000000000e+01
ds[ute].last_ds = "UNKN"
ds[ute].value = 3.0381717307e+03
ds[ute].unknown_sec = 0
ds[server].type = "GAUGE"
ds[server].minimal_heartbeat = 600
ds[server].min = -5.0000000000e+01
ds[server].max = 6.0000000000e+01
ds[server].last_ds = "UNKN"
ds[server].value = 6.3157168587e+03
ds[server].unknown_sec = 0
ds[vrum].type = "GAUGE"
ds[vrum].minimal_heartbeat = 600
ds[vrum].min = -5.0000000000e+01
ds[vrum].max = 6.0000000000e+01
ds[vrum].last_ds = "UNKN"
ds[vrum].value = 3.7879383544e+03
ds[vrum].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].cur_row = 9
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[0].cdp_prep[2].value = NaN
rra[0].cdp_prep[2].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 700
rra[1].cur_row = 1
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = 3.6849659566e+01
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = 7.6583733423e+01
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[1].cdp_prep[2].value = 4.5964763629e+01
rra[1].cdp_prep[2].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 775
rra[2].cur_row = 774
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 1.2779339181e+02
rra[2].cdp_prep[0].unknown_datapoints = 11
rra[2].cdp_prep[1].value = 2.5556126903e+02
rra[2].cdp_prep[1].unknown_datapoints = 11
rra[2].cdp_prep[2].value = 1.5907275536e+02
rra[2].cdp_prep[2].unknown_datapoints = 11
rra[3].cf = "AVERAGE"
rra[3].rows = 1500
rra[3].cur_row = 1499
rra[3].pdp_per_row = 144
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 1.2779339181e+02
rra[3].cdp_prep[0].unknown_datapoints = 83
rra[3].cdp_prep[1].value = 2.5556126903e+02
rra[3].cdp_prep[1].unknown_datapoints = 83
rra[3].cdp_prep[2].value = 1.5907275536e+02
rra[3].cdp_prep[2].unknown_datapoints = 83
rra[4].cf = "AVERAGE"
rra[4].rows = 2000
rra[4].cur_row = 1999
rra[4].pdp_per_row = 288
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = 1.2779339181e+02
rra[4].cdp_prep[0].unknown_datapoints = 227
rra[4].cdp_prep[1].value = 2.5556126903e+02
rra[4].cdp_prep[1].unknown_datapoints = 227
rra[4].cdp_prep[2].value = 1.5907275536e+02
rra[4].cdp_prep[2].unknown_datapoints = 227
rra[5].cf = "MAX"
rra[5].rows = 600
rra[5].cur_row = 9
rra[5].pdp_per_row = 1
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = NaN
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[5].cdp_prep[2].value = NaN
rra[5].cdp_prep[2].unknown_datapoints = 0
rra[6].cf = "MAX"
rra[6].rows = 700
rra[6].cur_row = 1
rra[6].pdp_per_row = 6
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = 1.2558079921e+01
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = 2.5562500000e+01
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[6].cdp_prep[2].value = 1.5683079921e+01
rra[6].cdp_prep[2].unknown_datapoints = 0
rra[7].cf = "MAX"
rra[7].rows = 775
rra[7].cur_row = 774
rra[7].pdp_per_row = 24
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = 1.3250000000e+01
rra[7].cdp_prep[0].unknown_datapoints = 11
rra[7].cdp_prep[1].value = 2.5587983074e+01
rra[7].cdp_prep[1].unknown_datapoints = 11
rra[7].cdp_prep[2].value = 1.6625000000e+01
rra[7].cdp_prep[2].unknown_datapoints = 11
rra[8].cf = "MAX"
rra[8].rows = 1500
rra[8].cur_row = 1499
rra[8].pdp_per_row = 144
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = 1.3250000000e+01
rra[8].cdp_prep[0].unknown_datapoints = 83
rra[8].cdp_prep[1].value = 2.5587983074e+01
rra[8].cdp_prep[1].unknown_datapoints = 83
rra[8].cdp_prep[2].value = 1.6625000000e+01
rra[8].cdp_prep[2].unknown_datapoints = 83
rra[9].cf = "MAX"
rra[9].rows = 2000
rra[9].cur_row = 1999
rra[9].pdp_per_row = 288
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = 1.3250000000e+01
rra[9].cdp_prep[0].unknown_datapoints = 227
rra[9].cdp_prep[1].value = 2.5587983074e+01
rra[9].cdp_prep[1].unknown_datapoints = 227
rra[9].cdp_prep[2].value = 1.6625000000e+01
rra[9].cdp_prep[2].unknown_datapoints = 227
rra[10].cf = "MIN"
rra[10].rows = 600
rra[10].cur_row = 9
rra[10].pdp_per_row = 1
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = NaN
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = NaN
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[10].cdp_prep[2].value = NaN
rra[10].cdp_prep[2].unknown_datapoints = 0
rra[11].cf = "MIN"
rra[11].rows = 700
rra[11].cur_row = 1
rra[11].pdp_per_row = 6
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = 1.2187888054e+01
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[11].cdp_prep[1].value = 2.5510596923e+01
rra[11].cdp_prep[1].unknown_datapoints = 0
rra[11].cdp_prep[2].value = 1.5224373468e+01
rra[11].cdp_prep[2].unknown_datapoints = 0
rra[12].cf = "MIN"
rra[12].rows = 775
rra[12].cur_row = 774
rra[12].pdp_per_row = 24
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = 1.2187888054e+01
rra[12].cdp_prep[0].unknown_datapoints = 11
rra[12].cdp_prep[1].value = 2.5510596923e+01
rra[12].cdp_prep[1].unknown_datapoints = 11
rra[12].cdp_prep[2].value = 1.5224373468e+01
rra[12].cdp_prep[2].unknown_datapoints = 11
rra[13].cf = "MIN"
rra[13].rows = 1500
rra[13].cur_row = 1499
rra[13].pdp_per_row = 144
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = 1.2187888054e+01
rra[13].cdp_prep[0].unknown_datapoints = 83
rra[13].cdp_prep[1].value = 2.5510596923e+01
rra[13].cdp_prep[1].unknown_datapoints = 83
rra[13].cdp_prep[2].value = 1.5224373468e+01
rra[13].cdp_prep[2].unknown_datapoints = 83
rra[14].cf = "MIN"
rra[14].rows = 2000
rra[14].cur_row = 1999
rra[14].pdp_per_row = 288
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = 1.2187888054e+01
rra[14].cdp_prep[0].unknown_datapoints = 227
rra[14].cdp_prep[1].value = 2.5510596923e+01
rra[14].cdp_prep[1].unknown_datapoints = 227
rra[14].cdp_prep[2].value = 1.5224373468e+01
rra[14].cdp_prep[2].unknown_datapoints = 227
Ser lite galet varmt ut...ds[ute].value = 3.0381717307e+03