61 lines
1.4 KiB
Perl
Executable file
61 lines
1.4 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
|
|
# RRA:CF:xff:step:rows
|
|
|
|
$debug = 1;
|
|
|
|
$dbname = "dbase/hdtemp.rrd";
|
|
$pic="temp.gif";
|
|
|
|
$step = 10; # 5min , 5*60sec
|
|
$num_pdp=3600/$step; # 12 value of pdp = (5*60)*12 = 1 hour
|
|
$rows_pdp=24; # 24 value of $num_pdp = 1 day
|
|
|
|
|
|
$rrdtool = "/usr/local/bin/rrdtool";
|
|
#$create = "$rrdtool create $dbname ".
|
|
# " --start now-1h ".
|
|
# " --step $step ".
|
|
# " DS:hdtemp:GAUGE:".(2*$step).":0:100 ".
|
|
# " RRA:AVERAGE:0.5:$num_pdp:$rows_pdp ".
|
|
# " RRA:MIN:0.5:$num_pdp:$rows_pdp ".
|
|
# " RRA:MAX:0.5:$num_pdp:$rows_pdp ";
|
|
|
|
$create = "$rrdtool create $dbname ".
|
|
"--start now-1h ".
|
|
"--step $step ".
|
|
"DS:hdtemp:GAUGE:".(2*$step).":0:100 ".
|
|
"RRA:MIN:0.5:1:".(6*$step)." ".
|
|
"RRA:MAX:0.5:1:".(6*$step)." ".
|
|
"RRA:LAST:0.5:1:".(6*$step)." ".
|
|
"RRA:AVERAGE:0.5:1:".(6*$step);
|
|
|
|
system($create);
|
|
|
|
while(1) {
|
|
|
|
@hdparams = `smartctl -a /dev/ad0`;
|
|
foreach $line (@hdparams) {
|
|
if ($line =~ /Temperature_Celsius/){
|
|
@temp = split (" ",$line);
|
|
print $temp[9]." ";
|
|
}
|
|
}
|
|
|
|
$now = time();
|
|
$update = "$rrdtool update $dbname $now:$temp[9]";
|
|
system($update);
|
|
|
|
$graph ="$rrdtool graph $pic --title \"HD temp\" ".
|
|
"--start now-1h ".
|
|
"DEF:c=$dbname:hdtemp:AVERAGE ".
|
|
"AREA:c#0000FF:Temperature ".
|
|
"GPRINT:c:MIN:'Min\\: %3.1lf%S' ".
|
|
"GPRINT:c:MAX:'Max\\: %3.1lf%S' ".
|
|
"GPRINT:c:LAST:'Last\\: %3.1lf%S' ".
|
|
"GPRINT:c:AVERAGE:'Avg\\: %3.1lf%S' ";
|
|
|
|
system($graph." > /dev/null");
|
|
sleep $step;
|
|
}
|