Portál AbcLinuxu, 21. listopadu 2025 19:41
#!/usr/bin/perl
my $rrd = '/home/httpd/html/rra';
my $img = '/home/httpd/html/img';
$hostname=`uname -n`;
chop($hostname);
($nodename)=split(/\./,$hostname);
&Process("lms", "HDD/CPU Temperature Load","$nodename","$hostname");
sub Process
{
my $in = `hddtemp /dev/hde | awk '{print \$3}' | /bin/cut -
d"°" -f1`;
my $out = `sensors | grep "CPU Temp" |awk '{print \$3}' |
/bin/cut -d"°" -f1 |cut -d "+" -f2`;
chomp($in);
chomp($out);
print "$_[0] traffic in, out: $in, $out\n";
# if rrdtool database doesn't exist, create it
if (! -e "$rrd/$_[2]-$_[0].rrd")
{
# print "creating rrd database for $_[0] interface...\n";
`rrdtool create $rrd/$_[2]-$_[0].rrd -s 300
DS:in:DERIVE:3600:0:12500000 DS:out:DERIVE:3600:0:12500000
RRA:AVERAGE:0.5:1:576 RRA:AVERAGE:0.5:6:672 RRA:AVERAGE:0.5:
24:732 RRA:AVERAGE:0.5:144:1460`;
}
`rrdtool update $rrd/$_[2]-$_[0].rrd -t in:out N:$in:$out`;
&CreateGraph($_[0], "day", $_[1],$_[2],$_[3]);
&CreateGraph($_[0], "week", $_[1],$_[2],$_[3]);
&CreateGraph($_[0], "month", $_[1],$_[2],$_[3]);
&CreateGraph($_[0], "year", $_[1],$_[2],$_[3]);
}
sub CreateGraph
{
$cmd="rrdtool graph $img/$_[3]-$_[0]-$_[1].png -s -
1$_[1] -t \"$_[4] :: $_[2] / $_[1]\"";
$cmd="$cmd --lazy -h 80 -w 600 -l 0 -a PNG -v Celzius ";
$cmd="$cmd DEF:in=$rrd/$_[3]-$_[0].rrd:in:AVERAGE ";
$cmd="$cmd DEF:out=$rrd/$_[3]-$_[0].rrd:out:AVERAGE ";
$cmd="$cmd CDEF:output=out,8,* ";
$cmd="$cmd CDEF:input=in,8,* ";
$cmd="$cmd AREA:input#9FA4EE:HDD ";
$cmd="$cmd LINE1:input#000080 ";
$cmd="$cmd GPRINT:input:MAX:\" Max\\: %5.1lf %s\" ";
$cmd="$cmd GPRINT:input:AVERAGE:\" Avg\\: %5.1lf %S \" ";
$cmd="$cmd GPRINT:input:LAST:\" Current\\: %5.1lf %S C\\n\" ";
$cmd="$cmd LINE1:output#EB0A5F:CPU ";
$cmd="$cmd GPRINT:output:MAX:\" Max\\: %5.1lf %S\" ";
$cmd="$cmd GPRINT:output:AVERAGE:\" Avg\\: %5.1lf %S\" ";
$cmd="$cmd GPRINT:output:LAST:\" Current\\: %5.1lf %S C\" ";
$cmd="$cmd HRULE:0#000000";
`$cmd`;
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.