#!/opt/bin/perl # File: bandwidth.cgi # By: Ben Nguyen # Date: 01-02-2012 # Desc: perl cgi script to fetch bandwidth logs from rrdtools, # feed to dygraphs to generate pretty bandwidth log graphs # use CGI; my $rrdfile="/opt/var/lib/rrd/vlan2.rrd"; my $rrdtool="/opt/bin/rrdtool"; my $period; my $resolution; $cgi = new CGI; for $key ( $cgi->param() ) { $input{$key} = $cgi->param($key); } if (defined($input{range})) { $period=$input{range}; } else { $period="2hour"; } if ($period=="2hour") {$resolution="1";} elsif ($period=="12hour") {$resolution="1";} elsif ($period=="6hour") {$resolution="1";} elsif ($period=="1day") {$resolution="300";} elsif ($period=="1week") {$resolution="300";} elsif ($period=="1month") {$resolution="900";} elsif ($period=="3month") {$resolution="900";} else {$resolution="60000";} my @l = qx/$rrdtool fetch $rrdfile AVERAGE -r $resolution -s -$period/; #@l=split(" ", @l); $html1 = qq{ [zrouter] wan bandwidth log

}; print $html2;