From: Michael Tremer Date: Sun, 2 Feb 2014 13:26:13 +0000 (+0100) Subject: Add an entropy graph. X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=commitdiff_plain;h=15b023b97944802aae90982511de103310496c31 Add an entropy graph. --- diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index 19c0546da..a0df5c07d 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -1114,3 +1114,38 @@ sub getprocesses { my @processesgraph = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/processes-*/ 2>/dev/null`; return @processesgraph; } + +sub updateentropygraph { + my $period = $_[0]; + my @command = ( + "-", + "--start", + "-1".$period, + "-aPNG", + "-i", + "-z", + "-W www.ipfire.org", + "--alt-y-grid", + "-w 600", + "-h 225", + "-r", + "--lower-limit","0", + "-t $Lang::tr{'entropy'}", + "-v $Lang::tr{'bit'}", + "DEF:entropy=$mainsettings{'RRDLOG'}/collectd/localhost/entropy/entropy.rrd:entropy:AVERAGE", + "CDEF:entropytrend=entropy,43200,TREND", + "LINE3:entropy#ff0000:" . sprintf("%-15s", $Lang::tr{'entropy'}), + "VDEF:entrmin=entropy,MINIMUM", + "VDEF:entrmax=entropy,MAXIMUM", + "VDEF:entravg=entropy,AVERAGE", + "GPRINT:entrmax:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'maximum'}), + "GPRINT:entrmin:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'minimum'}), + "GPRINT:entravg:" . sprintf("%12s\\: %%5.0lf", $Lang::tr{'average'}) . "\\n", + "LINE3:entropytrend#000000", + ); + + RRDs::graph (@command); + $ERROR = RRDs::error; + + print "Error in RRD::graph for entropy: ".$ERROR."\n" if $ERROR; +} diff --git a/config/collectd/collectd.conf b/config/collectd/collectd.conf index 14dd568c2..61327bf6c 100644 --- a/config/collectd/collectd.conf +++ b/config/collectd/collectd.conf @@ -15,6 +15,7 @@ ReadThreads 1 LoadPlugin cpu #LoadPlugin cpufreq LoadPlugin disk +LoadPlugin entropy LoadPlugin interface LoadPlugin iptables LoadPlugin load diff --git a/config/rootfiles/common/apache2 b/config/rootfiles/common/apache2 index c2be59bf8..2076fc30b 100644 --- a/config/rootfiles/common/apache2 +++ b/config/rootfiles/common/apache2 @@ -1391,6 +1391,7 @@ srv/web/ipfire/cgi-bin/dns.cgi srv/web/ipfire/cgi-bin/dnsforward.cgi srv/web/ipfire/cgi-bin/ddns.cgi srv/web/ipfire/cgi-bin/dhcp.cgi +srv/web/ipfire/cgi-bin/entropy.cgi srv/web/ipfire/cgi-bin/extrahd.cgi srv/web/ipfire/cgi-bin/fireinfo.cgi srv/web/ipfire/cgi-bin/firewall.cgi diff --git a/config/rootfiles/core/76/filelists/files b/config/rootfiles/core/76/filelists/files index ed5b7575a..a6f5e7c41 100644 --- a/config/rootfiles/core/76/filelists/files +++ b/config/rootfiles/core/76/filelists/files @@ -5,6 +5,7 @@ etc/rc.d/init.d/network run srv/web/ipfire/cgi-bin/credits.cgi srv/web/ipfire/cgi-bin/gui.cgi +srv/web/ipfire/cgi-bin/entropy.cgi srv/web/ipfire/cgi-bin/index.cgi srv/web/ipfire/cgi-bin/netinternal.cgi srv/web/ipfire/cgi-bin/ovpnmain.cgi diff --git a/doc/language_issues.es b/doc/language_issues.es index 066ea500f..d0cd3a876 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -577,6 +577,7 @@ WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: attention +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net @@ -633,6 +634,7 @@ WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: emerging rules WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled @@ -804,6 +806,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: minute WARNING: untranslated string: most preferred WARNING: untranslated string: notice diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 42e147945..1dca032da 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -587,6 +587,7 @@ WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: attention +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net @@ -644,6 +645,7 @@ WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: emerging rules WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled @@ -815,6 +817,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: minute WARNING: untranslated string: most preferred WARNING: untranslated string: notice diff --git a/doc/language_issues.nl b/doc/language_issues.nl index aa8c5b6ed..75623b569 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -588,6 +588,7 @@ WARNING: untranslated string: addons WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: ccd iroute2 WARNING: untranslated string: dead peer detection @@ -608,6 +609,7 @@ WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: firewall rules WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings @@ -762,6 +764,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: most preferred WARNING: untranslated string: notice WARNING: untranslated string: openvpn network diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 066ea500f..d0cd3a876 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -577,6 +577,7 @@ WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: attention +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net @@ -633,6 +634,7 @@ WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: emerging rules WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: fireinfo ipfire version WARNING: untranslated string: fireinfo is disabled WARNING: untranslated string: fireinfo is enabled @@ -804,6 +806,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: minute WARNING: untranslated string: most preferred WARNING: untranslated string: notice diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 0e00e5e8f..c2b7bf3c6 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -580,6 +580,7 @@ WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent WARNING: untranslated string: attention +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net @@ -638,6 +639,7 @@ WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: emerging rules WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: extrahd because there is already a device mounted WARNING: untranslated string: extrahd cant umount WARNING: untranslated string: extrahd install or load driver @@ -800,6 +802,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: minute WARNING: untranslated string: most preferred WARNING: untranslated string: notice diff --git a/doc/language_issues.tr b/doc/language_issues.tr index a21d7351c..9711f14ef 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -602,6 +602,7 @@ WARNING: untranslated string: Scan for Songs WARNING: untranslated string: addons WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent +WARNING: untranslated string: bit WARNING: untranslated string: bytes WARNING: untranslated string: dead peer detection WARNING: untranslated string: default ip @@ -614,6 +615,7 @@ WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing WARNING: untranslated string: encryption +WARNING: untranslated string: entropy WARNING: untranslated string: firewall rules WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings @@ -768,6 +770,8 @@ WARNING: untranslated string: ipsec network WARNING: untranslated string: least preferred WARNING: untranslated string: lifetime WARNING: untranslated string: mac filter +WARNING: untranslated string: maximum +WARNING: untranslated string: minimum WARNING: untranslated string: most preferred WARNING: untranslated string: notice WARNING: untranslated string: openvpn network diff --git a/doc/language_missings b/doc/language_missings index b588cae4d..02de34a20 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -23,6 +23,7 @@ < age sminute < age ssecond < attention +< bit < ccd add < ccd choose net < ccd clientip @@ -80,6 +81,7 @@ < drop forward < drop outgoing < encryption +< entropy < fireinfo ipfire version < fireinfo is disabled < fireinfo is enabled @@ -282,6 +284,8 @@ < least preferred < lifetime < mac filter +< maximum +< minimum < minute < most preferred < notice @@ -459,6 +463,7 @@ < age ssecond < Async logging enabled < attention +< bit < ccd add < ccd choose net < ccd clientip @@ -515,6 +520,7 @@ < drop forward < drop outgoing < encryption +< entropy < fireinfo ipfire version < fireinfo is disabled < fireinfo is enabled @@ -717,6 +723,8 @@ < least preferred < lifetime < mac filter +< maximum +< minimum < minute < most preferred < notice @@ -886,6 +894,7 @@ < age sminute < age ssecond < attention +< bit < ccd add < ccd choose net < ccd clientip @@ -942,6 +951,7 @@ < drop forward < drop outgoing < encryption +< entropy < extrahd because there is already a device mounted < extrahd cant umount < extrahd install or load driver @@ -1136,6 +1146,8 @@ < least preferred < lifetime < mac filter +< maximum +< minimum < minute < most preferred < notice @@ -1290,6 +1302,7 @@ < age sminute < age ssecond < attention +< bit < ccd add < ccd choose net < ccd clientip @@ -1349,6 +1362,7 @@ < drop outgoing < Edit an existing route < encryption +< entropy < extrahd because there is already a device mounted < extrahd cant umount < extrahd install or load driver @@ -1546,6 +1560,8 @@ < least preferred < lifetime < mac filter +< maximum +< minimum < minute < month-graph < most preferred diff --git a/html/cgi-bin/entropy.cgi b/html/cgi-bin/entropy.cgi new file mode 100755 index 000000000..9362e78be --- /dev/null +++ b/html/cgi-bin/entropy.cgi @@ -0,0 +1,53 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2005-2010 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +use strict; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; +require "${General::swroot}/graphs.pl"; + +my @querry = split(/\?/,$ENV{'QUERY_STRING'}); +$querry[0] = '' unless defined $querry[0]; +$querry[1] = 'hour' unless defined $querry[1]; + +if ( $querry[0] ne~ "") { + print "Content-type: image/png\n\n"; + binmode(STDOUT); + &Graphs::updateentropygraph($querry[1]); + +} else { + &Header::showhttpheaders(); + &Header::openpage($Lang::tr{'entropy'}, 1, ''); + &Header::openbigbox('100%', 'left'); + + &Header::openbox('100%', 'center', $Lang::tr{'entropy'}); + &Graphs::makegraphbox("entropy.cgi", "day", '', 350); + &Header::closebox(); + + &Header::closebigbox(); + &Header::closepage(); +} diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 9da517e06..e32ee9448 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -397,6 +397,7 @@ 'basic options' => 'Basisoptionen', 'beep when ppp connects or disconnects' => 'Piepen, wenn IPFire verbindet oder trennt', 'behind a proxy' => 'Hinter einem Proxy:', +'bit' => 'Bit', 'bitrate' => 'Bitrate', 'bleeding rules' => 'Bleeding Edge Snort Rules', 'blue' => 'BLAU', @@ -808,6 +809,7 @@ 'end address' => 'Endadresse:', 'enter ack class' => 'Legen Sie hier die ACK-Klasse fest
und klicken Sie danach auf Speichern.', 'enter data' => 'Geben Sie die Daten ein
und klicken Sie danach auf Speichern.', +'entropy' => 'Entropie', 'err bk 1' => 'Fehler beim Erzeugen des Archivs', 'err bk 10 password' => 'Fehler beim Datensicherungs-Passwort', 'err bk 2 key' => 'Fehler beim Erzeugen der Schlüsseldatei', @@ -1388,6 +1390,7 @@ 'max size' => 'Max. Objektgröße (kB):', 'max throughput' => 'Maximaler Durchsatz', 'maximal' => 'Maximal', +'maximum' => 'Maximum', 'maximum retries' => 'Maximale Wiederholversuche:', 'may' => 'Mai', 'mbmon display' => 'Anzeigen', @@ -1413,6 +1416,7 @@ 'min delay' => 'Minimale Verzögerung', 'min size' => 'Min. Objektgröße (kB):', 'minimal' => 'Minimal', +'minimum' => 'Minimum', 'minute' => 'Minute', 'minutes' => 'Minuten', 'misc-options' => 'Sonstige Optionen', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 3957b8557..d3c87743d 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -416,6 +416,7 @@ 'behind a proxy' => 'Behind a proxy:', 'bewan adsl pci st' => 'TO BE REMOVED', 'bewan adsl usb' => 'TO BE REMOVED', +'bit' => 'Bit', 'bitrate' => 'Bitrate', 'bleeding rules' => 'Bleeding Edge Snort Rules', 'blue' => 'BLUE', @@ -834,6 +835,7 @@ 'end address' => 'End address:', 'enter ack class' => 'Enter the ACK- Class
and then press Save.', 'enter data' => 'Enter your settings
and then press Save.', +'entropy' => 'Entropy', 'err bk 1' => 'Error creating archive', 'err bk 10 password' => 'Error with backup password', 'err bk 2 key' => 'Error creating key file', @@ -1417,6 +1419,7 @@ 'max size' => 'Max object size (KB):', 'max throughput' => 'Maximum throughput', 'maximal' => 'Maximal', +'maximum' => 'Maximum', 'maximum retries' => 'Maximum retries:', 'may' => 'May', 'mbmon display' => 'Display', @@ -1442,6 +1445,7 @@ 'min delay' => 'Minimum delay', 'min size' => 'Min object size (KB):', 'minimal' => 'Minimal', +'minimum' => 'Minimum', 'minute' => 'Minute', 'minutes' => 'Minutes', 'misc-options' => 'Miscellaneous options',