Add an entropy graph.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 2 Feb 2014 13:26:13 +0000 (14:26 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 2 Feb 2014 13:32:15 +0000 (14:32 +0100)
14 files changed:
config/cfgroot/graphs.pl
config/collectd/collectd.conf
config/rootfiles/common/apache2
config/rootfiles/core/76/filelists/files
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/entropy.cgi [new file with mode: 0755]
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

index 19c0546..a0df5c0 100644 (file)
@@ -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;
+}
index 14dd568..61327bf 100644 (file)
@@ -15,6 +15,7 @@ ReadThreads  1
 LoadPlugin cpu
 #LoadPlugin cpufreq
 LoadPlugin disk
+LoadPlugin entropy
 LoadPlugin interface
 LoadPlugin iptables
 LoadPlugin load
index c2be59b..2076fc3 100644 (file)
@@ -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
index ed5b757..a6f5e7c 100644 (file)
@@ -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
index 066ea50..d0cd3a8 100644 (file)
@@ -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
index 42e1479..1dca032 100644 (file)
@@ -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
index aa8c5b6..75623b5 100644 (file)
@@ -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
index 066ea50..d0cd3a8 100644 (file)
@@ -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
index 0e00e5e..c2b7bf3 100644 (file)
@@ -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
index a21d735..9711f14 100644 (file)
@@ -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
index b588cae..02de34a 100644 (file)
@@ -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
 < least preferred
 < lifetime
 < mac filter
+< maximum
+< minimum
 < minute
 < most preferred
 < notice
 < age ssecond
 < Async logging enabled
 < attention
+< bit
 < ccd add
 < ccd choose net
 < ccd clientip
 < drop forward
 < drop outgoing
 < encryption
+< entropy
 < fireinfo ipfire version
 < fireinfo is disabled
 < fireinfo is enabled
 < least preferred
 < lifetime
 < mac filter
+< maximum
+< minimum
 < minute
 < most preferred
 < notice
 < age sminute
 < age ssecond
 < attention
+< bit
 < ccd add
 < ccd choose net
 < ccd clientip
 < drop forward
 < drop outgoing
 < encryption
+< entropy
 < extrahd because there is already a device mounted
 < extrahd cant umount
 < extrahd install or load driver
 < least preferred
 < lifetime
 < mac filter
+< maximum
+< minimum
 < minute
 < most preferred
 < notice
 < age sminute
 < age ssecond
 < attention
+< bit
 < ccd add
 < ccd choose net
 < ccd clientip
 < drop outgoing
 < Edit an existing route
 < encryption
+< entropy
 < extrahd because there is already a device mounted
 < extrahd cant umount
 < extrahd install or load driver
 < 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 (executable)
index 0000000..9362e78
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+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();
+}
index 9da517e..e32ee94 100644 (file)
 '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',
 'end address' => 'Endadresse:',
 'enter ack class' => 'Legen Sie hier die ACK-Klasse fest <br /> und klicken Sie danach auf <i>Speichern</i>.',
 'enter data' => 'Geben Sie die Daten ein <br /> und klicken Sie danach auf <i>Speichern</i>.',
+'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',
 'max size' => 'Max. Objektgröße (kB):',
 'max throughput' => 'Maximaler Durchsatz',
 'maximal' => 'Maximal',
+'maximum' => 'Maximum',
 'maximum retries' => 'Maximale Wiederholversuche:',
 'may' => 'Mai',
 'mbmon display' => 'Anzeigen',
 'min delay' => 'Minimale Verzögerung',
 'min size' => 'Min. Objektgröße (kB):',
 'minimal' => 'Minimal',
+'minimum' => 'Minimum',
 'minute' => 'Minute',
 'minutes' => 'Minuten',
 'misc-options' => 'Sonstige Optionen',
index 3957b85..d3c8774 100644 (file)
 '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',
 'end address' => 'End address:',
 'enter ack class' => 'Enter the ACK- Class <br /> and then press <i>Save</i>.',
 'enter data' => 'Enter your settings <br /> and then press <i>Save</i>.',
+'entropy' => 'Entropy',
 'err bk 1' => 'Error creating archive',
 'err bk 10 password' => 'Error with backup password',
 'err bk 2 key' => 'Error creating key file',
 'max size' => 'Max object size (KB):',
 'max throughput' => 'Maximum throughput',
 'maximal' => 'Maximal',
+'maximum' => 'Maximum',
 'maximum retries' => 'Maximum retries:',
 'may' => 'May',
 'mbmon display' => 'Display',
 'min delay' => 'Minimum delay',
 'min size' => 'Min object size (KB):',
 'minimal' => 'Minimal',
+'minimum' => 'Minimum',
 'minute' => 'Minute',
 'minutes' => 'Minutes',
 'misc-options' => 'Miscellaneous options',