From: Alexander Marx Date: Fri, 26 Sep 2014 11:18:45 +0000 (+0200) Subject: vpn-statistics: change graphs and datatypes of rrd X-Git-Tag: v2.17-core89~77^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9ac8b8052842049694565bedeffc26d651ef093;p=ipfire-2.x.git vpn-statistics: change graphs and datatypes of rrd --- diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index 9695dedb9a..5e6fddbf6e 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -586,6 +586,7 @@ sub updateifgraph { $ERROR = RRDs::error; print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; } + sub updatevpngraph { my $interface = $_[0]; my $period = $_[1]; @@ -606,24 +607,93 @@ sub updatevpngraph { "--color=SHADEA".$color{"color19"}, "--color=SHADEB".$color{"color19"}, "--color=BACK".$color{"color21"}, - "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets.rrd:rx:AVERAGE", - "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets.rrd:tx:AVERAGE", + "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:rx:AVERAGE", + "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:tx:AVERAGE", "CDEF:outgoingn=outgoing,-1,*", "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}), "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}), "COMMENT:".sprintf("%15s",$Lang::tr{'average'}), "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}), "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j", - "AREA:incoming".$color{"color12"}."A0:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}), + "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}), "GPRINT:incoming:MAX:%8.1lf %sBps", "GPRINT:incoming:AVERAGE:%8.1lf %sBps", "GPRINT:incoming:MIN:%8.1lf %sBps", "GPRINT:incoming:LAST:%8.1lf %sBps\\j", - "AREA:outgoingn".$color{"color13"}."A0:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}), + "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}), + "GPRINT:outgoing:MAX:%8.1lf %sBps", + "GPRINT:outgoing:AVERAGE:%8.1lf %sBps", + "GPRINT:outgoing:MIN:%8.1lf %sBps", + "GPRINT:outgoing:LAST:%8.1lf %sBps\\j", + ); + $ERROR = RRDs::error; + print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; +} + +sub updatevpnn2ngraph { + my $interface = $_[0]; + my $period = $_[1]; + RRDs::graph( + "-", + "--start", + "-1".$period, + "-aPNG", + "-i", + "-z", + "-W www.ipfire.org", + "--alt-y-grid", + "-w 600", + "-h 125", + "-r", + "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"}, + "-v ".$Lang::tr{'bytes per second'}, + "--color=SHADEA".$color{"color19"}, + "--color=SHADEB".$color{"color19"}, + "--color=BACK".$color{"color21"}, + "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:rx:AVERAGE", + "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:tx:AVERAGE", + "DEF:overhead_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:rx:AVERAGE", + "DEF:overhead_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:tx:AVERAGE", + "DEF:compression_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_in.rrd:uncompressed:AVERAGE", + "DEF:compression_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_out.rrd:uncompressed:AVERAGE", + "CDEF:outgoingn=outgoing,-1,*", + "CDEF:overhead_outn=overhead_out,-1,*", + "CDEF:compression_outn=compression_out,-1,*", + "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'average'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\\j", + "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}), + "GPRINT:incoming:MAX:%8.1lf %sBps", + "GPRINT:incoming:AVERAGE:%8.1lf %sBps", + "GPRINT:incoming:MIN:%8.1lf %sBps", + "GPRINT:incoming:LAST:%8.1lf %sBps\\j", + "STACK:overhead_in#116B11:".sprintf("%-20s",$Lang::tr{'incoming overhead in bytes per second'}), + "GPRINT:overhead_in:MAX:%8.1lf %sBps", + "GPRINT:overhead_in:AVERAGE:%8.1lf %sBps", + "GPRINT:overhead_in:MIN:%8.1lf %sBps", + "GPRINT:overhead_in:LAST:%8.1lf %sBps\\j", + "LINE1:compression_in#ff00ff:".sprintf("%-20s",$Lang::tr{'incoming compression in bytes per second'}), + "GPRINT:compression_in:MAX:%8.1lf %sBps", + "GPRINT:compression_in:AVERAGE:%8.1lf %sBps", + "GPRINT:compression_in:MIN:%8.1lf %sBps", + "GPRINT:compression_in:LAST:%8.1lf %sBps\\j", + "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}), "GPRINT:outgoing:MAX:%8.1lf %sBps", "GPRINT:outgoing:AVERAGE:%8.1lf %sBps", "GPRINT:outgoing:MIN:%8.1lf %sBps", "GPRINT:outgoing:LAST:%8.1lf %sBps\\j", + "STACK:overhead_outn#870C0C:".sprintf("%-20s",$Lang::tr{'outgoing overhead in bytes per second'}), + "GPRINT:overhead_out:MAX:%8.1lf %sBps", + "GPRINT:overhead_out:AVERAGE:%8.1lf %sBps", + "GPRINT:overhead_out:MIN:%8.1lf %sBps", + "GPRINT:overhead_out:LAST:%8.1lf %sBps\\j", + "LINE1:compression_outn#000000:".sprintf("%-20s",$Lang::tr{'outgoing compression in bytes per second'}), + "GPRINT:compression_out:MAX:%8.1lf %sBps", + "GPRINT:compression_out:AVERAGE:%8.1lf %sBps", + "GPRINT:compression_out:MIN:%8.1lf %sBps", + "GPRINT:compression_out:LAST:%8.1lf %sBps\\j", ); $ERROR = RRDs::error; print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; diff --git a/html/cgi-bin/netovpnrw.cgi b/html/cgi-bin/netovpnrw.cgi old mode 100644 new mode 100755 index 181ae33b3e..f775b23dcc --- a/html/cgi-bin/netovpnrw.cgi +++ b/html/cgi-bin/netovpnrw.cgi @@ -50,17 +50,21 @@ if ( $querry[0] ne "" && $querry[0] ne "UNDEF"){ &Header::openpage($Lang::tr{'host to net vpn'}, 1, ''); &Header::openbigbox('100%', 'left'); - my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -name *.rrd|sort`; + my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -not -path *openvpn-*n2n* -name *.rrd|sort`; foreach (@vpngraphs){ - $_ =~ /(.*)\/openvpn-(.*)\/if_octets.rrd/; - push(@vpns,$2); + if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive.rrd/){ + push(@vpns,$2); + } } - foreach (@vpns) { - &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); - &Graphs::makegraphbox("netovpnrw.cgi",$_,"week"); - &Header::closebox(); + if(@vpns){ + foreach (@vpns) { + &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); + &Graphs::makegraphbox("netovpnrw.cgi",$_,"week"); + &Header::closebox(); + } + }else{ + print "
".$Lang::tr{'no data'}."
"; } - my $output = ''; &Header::closebigbox(); diff --git a/html/cgi-bin/netovpnsrv.cgi b/html/cgi-bin/netovpnsrv.cgi index 9d5f29a76a..0ec9c679d5 100755 --- a/html/cgi-bin/netovpnsrv.cgi +++ b/html/cgi-bin/netovpnsrv.cgi @@ -52,15 +52,19 @@ if ( $querry[0] ne ""){ my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*-n2n/ -not -path *openvpn-UNDEF* -name *traffic.rrd|sort`; foreach (@vpngraphs){ - $_ =~ /(.*)\/openvpn-(.*)\/if_octets-traffic.rrd/; - push(@vpns,$2); + if($_ =~ /(.*)\/openvpn-(.*)\/if_octets_derive-traffic.rrd/){ + push(@vpns,$2); + } } - foreach (@vpns) { - &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); - &Graphs::makegraphbox("netovpnsrv.cgi",$_,"week"); - &Header::closebox(); + if (@vpns){ + foreach (@vpns) { + &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); + &Graphs::makegraphbox("netovpnsrv.cgi",$_,"week"); + &Header::closebox(); + } + }else{ + print "
".$Lang::tr{'no data'}."
"; } - my $output = ''; &Header::closebigbox(); diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 6c46f70bfa..1e75e3ab4a 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1237,6 +1237,8 @@ 'incoming' => 'eingehend', 'incoming firewall access' => 'Eingehender Firewallzugang', 'incoming traffic in bytes per second' => 'Eingehender Verkehr', +'incoming overhead in bytes per second' => 'Eingehender Overhead', +'incoming compression in bytes per second' => 'Eingehende Kompression', 'incorrect password' => 'Fehlerhaftes Passwort', 'info' => 'Info', 'init string' => 'Initialisierung:', @@ -1681,6 +1683,8 @@ 'outgoing firewall view group' => 'Gruppe anzeigen', 'outgoing firewall warning' => 'Nur die Auswahl Quell IP / MAC aktiviert diese', 'outgoing traffic in bytes per second' => 'Abgehender Verkehr', +'outgoing overhead in bytes per second' => 'Abgehender Overhead', +'outgoing compression in bytes per second' => 'Abgehende Kompression', 'override mtu' => 'Überschreibe Standard MTU', 'ovpn' => 'OpenVPN', 'ovpn con stat' => 'OpenVPN Verbindungs-Statistik', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index b537868d2c..4cbe502413 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1266,6 +1266,8 @@ 'incoming' => 'incoming', 'incoming firewall access' => 'Incoming Firewall Access', 'incoming traffic in bytes per second' => 'Incoming Traffic', +'incoming overhead in bytes per second' => 'Incoming Overhead', +'incoming compression in bytes per second' => 'Incoming Compression', 'incorrect password' => 'Incorrect password', 'info' => 'Info', 'init string' => 'Init:', @@ -1712,6 +1714,8 @@ 'outgoing firewall view group' => 'View group', 'outgoing firewall warning' => 'Not selecting source ip or mac ignores them', 'outgoing traffic in bytes per second' => 'Outgoing Traffic', +'outgoing overhead in bytes per second' => 'Outgoing Overhead', +'outgoing compression in bytes per second' => 'Outgoing compression', 'override mtu' => 'Override default MTU', 'ovpn' => 'OpenVPN', 'ovpn con stat' => 'OpenVPN Connection Statistics',