Portál AbcLinuxu, 12. května 2025 05:48
#!/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.