From: Michael Tremer Date: Tue, 10 Sep 2024 22:43:59 +0000 (+0200) Subject: IPS: Ada a graph that shows the IPS throughput X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f97ddcd6b54c86b6f536d5ec652a7bd782746e49;p=people%2Fms%2Fipfire-2.x.git IPS: Ada a graph that shows the IPS throughput This graph is split into three parts. One shows bypassed packets, the next one shows the actually scanned packets and lastly we show the total throughput. Signed-off-by: Michael Tremer --- diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index 2439c5bf6..ba7887840 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -1189,3 +1189,76 @@ sub updateconntrackgraph { return "Error in RRD::Graph for conntrack: " . $ERROR . "\n" if $ERROR; } + +sub updateipsthroughputgraph { + my $period = $_[0]; + + my @command = ( + @GRAPH_ARGS, + "-", + "--start", + "-1" . $period, + "-r", + "--lower-limit","0", + "-v $Lang::tr{'bytes per second'}", + "--color=BACK" . $color{"color21"}, + + # Read bypassed packets + "DEF:bypassed_bytes=$mainsettings{'RRDLOG'}/collectd/localhost/iptables-mangle-IPS/ipt_bytes-BYPASSED.rrd:value:AVERAGE", + #"DEF:bypassed_packets=$mainsettings{'RRDLOG'}/collectd/localhost/iptables-mangle-IPS/ipt_packets-BYPASSED.rrd:value:AVERAGE", + + "VDEF:bypassed_bytes_avg=bypassed_bytes,AVERAGE", + "VDEF:bypassed_bytes_min=bypassed_bytes,MINIMUM", + "VDEF:bypassed_bytes_max=bypassed_bytes,MAXIMUM", + + # Read scanned packets + "DEF:scanned_bytes=$mainsettings{'RRDLOG'}/collectd/localhost/iptables-mangle-IPS/ipt_bytes-SCANNED.rrd:value:AVERAGE", + #"DEF:scanned_packets=$mainsettings{'RRDLOG'}/collectd/localhost/iptables-mangle-IPS/ipt_packets-SCANNED.rrd:value:AVERAGE", + + "VDEF:scanned_bytes_avg=scanned_bytes,AVERAGE", + "VDEF:scanned_bytes_min=scanned_bytes,MINIMUM", + "VDEF:scanned_bytes_max=scanned_bytes,MAXIMUM", + + # Total + "CDEF:total_bytes=bypassed_bytes,scanned_bytes,+", + #"CDEF:total_packets=bypassed_packets,scanned_packets,+", + + "VDEF:total_bytes_avg=total_bytes,AVERAGE", + "VDEF:total_bytes_min=total_bytes,MINIMUM", + "VDEF:total_bytes_max=total_bytes,MAXIMUM", + + # Add some space below the graph + "COMMENT: \\n", + + # Headline + "COMMENT:" . sprintf("%32s", ""), + "COMMENT:" . sprintf("%16s", $Lang::tr{'average'}), + "COMMENT:" . sprintf("%16s", $Lang::tr{'minimum'}), + "COMMENT:" . sprintf("%16s", $Lang::tr{'maximum'}) . "\\j", + + # Bypassed Packets + "AREA:bypassed_bytes$color{'color12'}A0:" . sprintf("%-30s", $Lang::tr{'bypassed'}), + "GPRINT:bypassed_bytes_avg:%9.2lf %sbps", + "GPRINT:bypassed_bytes_min:%9.2lf %sbps", + "GPRINT:bypassed_bytes_max:%9.2lf %sbps\\j", + + # Scanned Packets + "STACK:scanned_bytes$color{'color13'}A0:" . sprintf("%-30s", $Lang::tr{'scanned'}), + "GPRINT:scanned_bytes_avg:%9.2lf %sbps", + "GPRINT:scanned_bytes_min:%9.2lf %sbps", + "GPRINT:scanned_bytes_max:%9.2lf %sbps\\j", + + "COMMENT: \\n", + + # Total Packets + "COMMENT:" . sprintf("%-32s", $Lang::tr{'total'}), + "GPRINT:total_bytes_avg:%9.2lf %sbps", + "GPRINT:total_bytes_min:%9.2lf %sbps", + "GPRINT:total_bytes_max:%9.2lf %sbps\\j", + ); + + RRDs::graph(@command); + $ERROR = RRDs::error; + + return "Error in RRD::Graph for conntrack: " . $ERROR . "\n" if $ERROR; +} diff --git a/doc/language_issues.en b/doc/language_issues.en index c66849b27..7daeb078c 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -361,6 +361,7 @@ WARNING: untranslated string: broken = Broken WARNING: untranslated string: broken pipe = Broken pipe WARNING: untranslated string: buffered memory = Buffered Memory WARNING: untranslated string: buffers = buffers +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: bytes per second = Bytes per Second WARNING: untranslated string: bytes received = Bytes Received WARNING: untranslated string: bytes sent = Bytes Sent @@ -1191,6 +1192,7 @@ WARNING: untranslated string: ipfire has now shutdown = IPFire is shutting down WARNING: untranslated string: ipfire side is invalid = IPFire side is invalid. WARNING: untranslated string: ipfires hostname = IPFire's Hostname WARNING: untranslated string: ipinfo = IP info +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec = IPsec WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) @@ -1613,6 +1615,7 @@ WARNING: untranslated string: samba server role standalone = Standalone WARNING: untranslated string: saturday = Saturday WARNING: untranslated string: save = Save WARNING: untranslated string: save-adv-options = Save advanced options +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: script name = Script name: WARNING: untranslated string: search = Search WARNING: untranslated string: secondary dns = Secondary DNS: @@ -1803,6 +1806,7 @@ WARNING: untranslated string: tor traffic limit soft = Traffic limit almost reac WARNING: untranslated string: tor traffic read written = Total traffic (read/written) WARNING: untranslated string: tor use exit nodes = Use only these exit nodes (one fingerprint per line) WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: total connection time = Total Connection Time WARNING: untranslated string: total hits for log section = Total hits for log section WARNING: untranslated string: traffic stat in = In diff --git a/doc/language_issues.es b/doc/language_issues.es index afb9af914..e71e77480 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -981,6 +981,7 @@ WARNING: untranslated string: Scan for Songs = unknown string WARNING: untranslated string: access point name = Access Point Name WARNING: untranslated string: access point name is invalid = Access Point Name is invalid WARNING: untranslated string: access point name is required = Access Point Name is required +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cpu frequency = CPU frequency WARNING: untranslated string: data transfer = Data Transfer WARNING: untranslated string: dhcp fixed ip address in dynamic range = Fixed IP Address in dynamic range @@ -1033,6 +1034,7 @@ WARNING: untranslated string: ids provider eol = (EOL) WARNING: untranslated string: ids rulesets = Rulesets WARNING: untranslated string: info messages = unknown string WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: last updated = Last Updated WARNING: untranslated string: load average = Load Average WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hostile networks @@ -1052,10 +1054,12 @@ WARNING: untranslated string: route config changed = unknown string WARNING: untranslated string: routing config added = unknown string WARNING: untranslated string: routing config changed = unknown string WARNING: untranslated string: routing table = unknown string +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: service boot setting unavailable = No valid runlevel symlink was found for the initscript of this service. WARNING: untranslated string: spec rstack overflow = Speculative Return Stack Overflow WARNING: untranslated string: system time = System Time (as of last page load) WARNING: untranslated string: timeformat = %Y-%m-%d at %H:%M:%S %Z +WARNING: untranslated string: total = Total WARNING: untranslated string: transport mode does not support vti = VTI is not support in transport mode WARNING: untranslated string: warning = Warning WARNING: untranslated string: wio = unknown string diff --git a/doc/language_issues.fr b/doc/language_issues.fr index c7669982d..a5f566822 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -944,6 +944,7 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error WARNING: translation string unused: zoneconf val vlan tag assignment error WARNING: translation string unused: zoneconf val vlan tag range error WARNING: translation string unused: zoneconf val zoneslave amount error +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: core notice 3 = available. WARNING: untranslated string: data transfer = Data Transfer WARNING: untranslated string: enable disable client = unknown string @@ -984,6 +985,7 @@ WARNING: untranslated string: guardian service = unknown string WARNING: untranslated string: hostile networks total = Total Hostile Networks WARNING: untranslated string: ids provider eol = (EOL) WARNING: untranslated string: ids rulesets = Rulesets +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: last updated = Last Updated WARNING: untranslated string: load average = Load Average WARNING: untranslated string: oops something went wrong = Oops, something went wrong... @@ -993,8 +995,10 @@ WARNING: untranslated string: processors = Processors WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS) WARNING: untranslated string: routing config added = unknown string WARNING: untranslated string: routing config changed = unknown string +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: system time = System Time (as of last page load) WARNING: untranslated string: timeformat = %Y-%m-%d at %H:%M:%S %Z +WARNING: untranslated string: total = Total WARNING: untranslated string: warning = Warning WARNING: untranslated string: wio = unknown string WARNING: untranslated string: wio checked = unknown string diff --git a/doc/language_issues.it b/doc/language_issues.it index f35ecadbf..d72b90335 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -948,6 +948,7 @@ WARNING: untranslated string: autonomous system = Autonomous System WARNING: untranslated string: available = available WARNING: untranslated string: block = Block WARNING: untranslated string: broken = Broken +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes) @@ -1173,6 +1174,7 @@ WARNING: untranslated string: ipblocklist logs = IP Address Blocklist Logs WARNING: untranslated string: ipblocklist name = Name WARNING: untranslated string: ipblocklist output = Packets dropped (OUT) WARNING: untranslated string: ipblocklist use ipblocklists = Enable IP Blocklists +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) WARNING: untranslated string: ipsec interface mode gre = GRE @@ -1273,6 +1275,7 @@ WARNING: untranslated string: samba join a domain = Join a domain WARNING: untranslated string: samba join domain = Join domain WARNING: untranslated string: samba server role member = Domain Member WARNING: untranslated string: samba server role standalone = Standalone +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: search = Search WARNING: untranslated string: secret = Secret WARNING: untranslated string: sent = Sent @@ -1310,6 +1313,7 @@ WARNING: untranslated string: token not set = No Token has been given. WARNING: untranslated string: tor guard country any = Any country WARNING: untranslated string: tor guard nodes = Guard Nodes WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: traffic stat in = In WARNING: untranslated string: traffic stat out = Out WARNING: untranslated string: traffic stat title = RED Traffic diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 0f1445b33..3b926a64c 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -950,6 +950,7 @@ WARNING: untranslated string: autonomous system = Autonomous System WARNING: untranslated string: available = available WARNING: untranslated string: block = Block WARNING: untranslated string: broken = Broken +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes) @@ -1181,6 +1182,7 @@ WARNING: untranslated string: ipblocklist logs = IP Address Blocklist Logs WARNING: untranslated string: ipblocklist name = Name WARNING: untranslated string: ipblocklist output = Packets dropped (OUT) WARNING: untranslated string: ipblocklist use ipblocklists = Enable IP Blocklists +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) WARNING: untranslated string: ipsec interface mode gre = GRE @@ -1296,6 +1298,7 @@ WARNING: untranslated string: samba join a domain = Join a domain WARNING: untranslated string: samba join domain = Join domain WARNING: untranslated string: samba server role member = Domain Member WARNING: untranslated string: samba server role standalone = Standalone +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: search = Search WARNING: untranslated string: secret = Secret WARNING: untranslated string: sent = Sent @@ -1336,6 +1339,7 @@ WARNING: untranslated string: token not set = No Token has been given. WARNING: untranslated string: tor guard country any = Any country WARNING: untranslated string: tor guard nodes = Guard Nodes WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: transfers = Transfers WARNING: untranslated string: transport mode does not support vti = VTI is not support in transport mode WARNING: untranslated string: twelve hours = 12 Hours diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 9dc4a80c7..8461f9a27 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -875,6 +875,7 @@ WARNING: untranslated string: available = available WARNING: untranslated string: bit = bit WARNING: untranslated string: block = Block WARNING: untranslated string: broken = Broken +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes) @@ -1323,6 +1324,7 @@ WARNING: untranslated string: ipblocklist logs = IP Address Blocklist Logs WARNING: untranslated string: ipblocklist name = Name WARNING: untranslated string: ipblocklist output = Packets dropped (OUT) WARNING: untranslated string: ipblocklist use ipblocklists = Enable IP Blocklists +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec = IPsec WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) @@ -1475,6 +1477,7 @@ WARNING: untranslated string: samba join a domain = Join a domain WARNING: untranslated string: samba join domain = Join domain WARNING: untranslated string: samba server role member = Domain Member WARNING: untranslated string: samba server role standalone = Standalone +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: search = Search WARNING: untranslated string: secret = Secret WARNING: untranslated string: sent = Sent @@ -1569,6 +1572,7 @@ WARNING: untranslated string: tor traffic limit soft = Traffic limit almost reac WARNING: untranslated string: tor traffic read written = Total traffic (read/written) WARNING: untranslated string: tor use exit nodes = Use only these exit nodes (one fingerprint per line) WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: traffic stat in = In WARNING: untranslated string: traffic stat out = Out WARNING: untranslated string: traffic stat title = RED Traffic diff --git a/doc/language_issues.ru b/doc/language_issues.ru index c527f2abb..6fe35a0ed 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -870,6 +870,7 @@ WARNING: untranslated string: available = available WARNING: untranslated string: bit = bit WARNING: untranslated string: block = Block WARNING: untranslated string: broken = Broken +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes) @@ -1319,6 +1320,7 @@ WARNING: untranslated string: ipblocklist logs = IP Address Blocklist Logs WARNING: untranslated string: ipblocklist name = Name WARNING: untranslated string: ipblocklist output = Packets dropped (OUT) WARNING: untranslated string: ipblocklist use ipblocklists = Enable IP Blocklists +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec = IPsec WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) @@ -1468,6 +1470,7 @@ WARNING: untranslated string: samba join a domain = Join a domain WARNING: untranslated string: samba join domain = Join domain WARNING: untranslated string: samba server role member = Domain Member WARNING: untranslated string: samba server role standalone = Standalone +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: search = Search WARNING: untranslated string: secret = Secret WARNING: untranslated string: sent = Sent @@ -1562,6 +1565,7 @@ WARNING: untranslated string: tor traffic limit soft = Traffic limit almost reac WARNING: untranslated string: tor traffic read written = Total traffic (read/written) WARNING: untranslated string: tor use exit nodes = Use only these exit nodes (one fingerprint per line) WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: traffic stat in = In WARNING: untranslated string: traffic stat out = Out WARNING: untranslated string: traffic stat title = RED Traffic diff --git a/doc/language_issues.tr b/doc/language_issues.tr index fa359b926..cb7b50a52 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -935,6 +935,7 @@ WARNING: untranslated string: asn lookup failed = AS lookup failed WARNING: untranslated string: autonomous system = Autonomous System WARNING: untranslated string: available = available WARNING: untranslated string: broken = Broken +WARNING: untranslated string: bypassed = Bypassed WARNING: untranslated string: cake profile bridged-llcsnap 32 = Bridged LLC SNAP (32 bytes) WARNING: untranslated string: cake profile bridged-ptm 19 = Bridged PTM (19 bytes) WARNING: untranslated string: cake profile bridged-vcmux 24 = Bridged VC-MUX (24 bytes) @@ -1110,6 +1111,7 @@ WARNING: untranslated string: ipblocklist logs = IP Address Blocklist Logs WARNING: untranslated string: ipblocklist name = Name WARNING: untranslated string: ipblocklist output = Packets dropped (OUT) WARNING: untranslated string: ipblocklist use ipblocklists = Enable IP Blocklists +WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: ipsec connection = IPsec Connection WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es) WARNING: untranslated string: ipsec interface mode gre = GRE @@ -1180,6 +1182,7 @@ WARNING: untranslated string: routing config changed = unknown string WARNING: untranslated string: routing table = unknown string WARNING: untranslated string: samba server role member = Domain Member WARNING: untranslated string: samba server role standalone = Standalone +WARNING: untranslated string: scanned = Scanned WARNING: untranslated string: secret = Secret WARNING: untranslated string: sent = Sent WARNING: untranslated string: service boot setting unavailable = No valid runlevel symlink was found for the initscript of this service. @@ -1213,6 +1216,7 @@ WARNING: untranslated string: token not set = No Token has been given. WARNING: untranslated string: tor guard country any = Any country WARNING: untranslated string: tor guard nodes = Guard Nodes WARNING: untranslated string: tor use guard nodes = Use only these guard nodes (one fingerprint per line) +WARNING: untranslated string: total = Total WARNING: untranslated string: traffic stat in = In WARNING: untranslated string: traffic stat out = Out WARNING: untranslated string: traffic stat title = RED Traffic diff --git a/doc/language_missings b/doc/language_missings index 6753779f4..603530c74 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -121,6 +121,7 @@ < access point name is invalid < access point name is required < addon +< bypassed < cpu frequency < data transfer < dhcp fixed ip address in dynamic range @@ -140,6 +141,7 @@ < ids rulesets < ids unsupported provider < invalid ip or hostname +< ips throughput < last updated < load average < log drop hostile in @@ -153,10 +155,12 @@ < reg_file_data_sampling < reiserfs warning1 < reiserfs warning2 +< scanned < service boot setting unavailable < spec rstack overflow < system time < timeformat +< total < transport mode does not support vti < warning < wg @@ -173,6 +177,7 @@ < ansi t1.483 < bewan adsl pci st < bewan adsl usb +< bypassed < data transfer < extrahd because it it outside the allowed mount path < fwdfw syn flood protection @@ -182,14 +187,17 @@ < ids provider eol < ids rulesets < ids unsupported provider +< ips throughput < last updated < load average < oops something went wrong < ovpn roadwarrior server < processors < reg_file_data_sampling +< scanned < system time < timeformat +< total < upload fcdsl.o < warning < wg @@ -235,6 +243,7 @@ < available < block < broken +< bypassed < cake profile bridged-llcsnap 32 < cake profile bridged-ptm 19 < cake profile bridged-vcmux 24 @@ -513,6 +522,7 @@ < ipsec roadwarrior endpoint < ipsec routing table entries < ipsec settings +< ips throughput < itlb multihit < last updated < legacy architecture warning @@ -606,6 +616,7 @@ < samba join domain < samba server role member < samba server role standalone +< scanned < search < secret < sent @@ -644,6 +655,7 @@ < tor guard country any < tor guard nodes < tor use guard nodes +< total < traffic stat in < traffic stat out < traffic stat title @@ -773,6 +785,7 @@ < available < block < broken +< bypassed < cake profile bridged-llcsnap 32 < cake profile bridged-ptm 19 < cake profile bridged-vcmux 24 @@ -1058,6 +1071,7 @@ < ipsec roadwarrior endpoint < ipsec routing table entries < ipsec settings +< ips throughput < itlb multihit < last updated < legacy architecture warning @@ -1169,6 +1183,7 @@ < samba join domain < samba server role member < samba server role standalone +< scanned < search < secret < sent @@ -1211,6 +1226,7 @@ < tor guard country any < tor guard nodes < tor use guard nodes +< total < transfers < transport mode does not support vti < twelve hours @@ -1351,6 +1367,7 @@ < bit < block < broken +< bypassed < cake profile bridged-llcsnap 32 < cake profile bridged-ptm 19 < cake profile bridged-vcmux 24 @@ -1913,6 +1930,7 @@ < ipsec roadwarrior endpoint < ipsec routing table entries < ipsec settings +< ips throughput < itlb multihit < last < last updated @@ -2074,6 +2092,7 @@ < samba join domain < samba server role member < samba server role standalone +< scanned < search < secret < sent @@ -2177,6 +2196,7 @@ < tor traffic read written < tor use exit nodes < tor use guard nodes +< total < traffic stat in < traffic stat out < traffic stat title @@ -2362,6 +2382,7 @@ < bit < block < broken +< bypassed < cake profile bridged-llcsnap 32 < cake profile bridged-ptm 19 < cake profile bridged-vcmux 24 @@ -2930,6 +2951,7 @@ < ipsec roadwarrior endpoint < ipsec routing table entries < ipsec settings +< ips throughput < itlb multihit < last < last updated @@ -3089,6 +3111,7 @@ < samba join domain < samba server role member < samba server role standalone +< scanned < search < secret < sent @@ -3192,6 +3215,7 @@ < tor traffic read written < tor use exit nodes < tor use guard nodes +< total < traffic stat in < traffic stat out < traffic stat title @@ -3354,6 +3378,7 @@ < autonomous system < available < broken +< bypassed < cake profile bridged-llcsnap 32 < cake profile bridged-ptm 19 < cake profile bridged-vcmux 24 @@ -3523,6 +3548,7 @@ < ipsec roadwarrior endpoint < ipsec routing table entries < ipsec settings +< ips throughput < itlb multihit < last updated < legacy architecture warning @@ -3581,6 +3607,7 @@ < runmode < samba server role member < samba server role standalone +< scanned < secret < sent < service boot setting unavailable @@ -3615,6 +3642,7 @@ < tor guard country any < tor guard nodes < tor use guard nodes +< total < traffic stat in < traffic stat out < traffic stat title diff --git a/html/cgi-bin/getrrdimage.cgi b/html/cgi-bin/getrrdimage.cgi index f80f0138f..77556217d 100644 --- a/html/cgi-bin/getrrdimage.cgi +++ b/html/cgi-bin/getrrdimage.cgi @@ -35,7 +35,7 @@ require "${General::swroot}/graphs.pl"; # List of graph origins that getrrdimage.cgi can process directly # (unknown origins are forwarded to ensure compatibility) -my @supported_origins = ("hardwaregraphs.cgi", "media.cgi", +my @supported_origins = ("ids.cgi", "hardwaregraphs.cgi", "media.cgi", "memory.cgi", "netexternal.cgi", "netinternal.cgi", "netother.cgi", "netovpnrw.cgi", "netovpnsrv.cgi", "qos.cgi", "services.cgi", "system.cgi"); @@ -80,7 +80,13 @@ _start_svg_output(); # Graphs are first grouped by their origin. # This is because some graph categories require special parameter handling. my $graphstatus = ''; -if($origin eq "hardwaregraphs.cgi") { ## hardwaregraphs.cgi +if ($origin eq "ids.cgi") { ## ids.cgi + if ($graph eq "ips-throughput") { + $graphstatus = Graphs::updateipsthroughputgraph($range); + } else { + $graphstatus = "Unknown graph name."; + } +} elsif($origin eq "hardwaregraphs.cgi") { ## hardwaregraphs.cgi if($graph eq "hwtemp") { $graphstatus = Graphs::updatehwtempgraph($range); } elsif($graph eq "hwfan") { diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index db05df98a..88ee3406c 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -1100,6 +1100,9 @@ END &Header::closesection(); + # Throughput Graph + &Header::graph("$Lang::tr{'ips throughput'}", "ids.cgi", "ips-throughput", "day"); + # # Used Ruleset Providers section. # diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index f1721f3b2..99349758c 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -503,6 +503,7 @@ 'broken pipe' => 'Zerbrochene Pipe', 'buffered memory' => 'Pufferspeicher ', 'buffers' => 'Puffer', +'bypassed' => 'Übersprungen', 'bytes' => 'Bytes', 'bytes per second' => 'Bytes pro Sekunde', 'bytes received' => 'Bytes empfangen', @@ -1572,6 +1573,7 @@ 'ipfire side is invalid' => 'IPFire Seite ist ungültig.', 'ipfires hostname' => 'IPFire\'s Hostname', 'ipinfo' => 'IP-Info', +'ips throughput' => 'Durchsatz', 'ipsec' => 'IPsec', 'ipsec connection' => 'IPsec-Verbindung', 'ipsec interface mode gre' => 'GRE', @@ -2220,6 +2222,7 @@ 'save error' => 'Konfigurationsarchiv-Datei konnte nicht gespeichert werden', 'save settings' => 'Einstellungen speichern', 'save-adv-options' => 'Erweiterte Optionen speichern', +'scanned' => 'Gescannt', 'script name' => 'Skriptname:', 'search' => 'Suchen', 'secondary dns' => 'Sekundärer DNS-Server:', @@ -2495,6 +2498,7 @@ 'tor traffic read written' => 'Gesamter Traffic (empfangen/gesendet)', 'tor use exit nodes' => 'Nur diese Exitknoten benutzen (ein Fingerabdruck pro Zeile)', 'tor use guard nodes' => 'Nur diese Guardknoten benutzen (ein Fingerabdruck pro Zeile)', +'total' => 'Gesamt', 'total connection time' => 'Gesamte Verbindungszeit', 'total hits for log section' => 'Gesamte Treffer für Protokollsektion', 'traffic back' => 'Zurück', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index b66096331..2038f2e76 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -524,6 +524,7 @@ 'broken pipe' => 'Broken pipe', 'buffered memory' => 'Buffered Memory', 'buffers' => 'buffers', +'bypassed' => 'Bypassed', 'bytes per second' => 'Bytes per Second', 'bytes received' => 'Bytes Received', 'bytes sent' => 'Bytes Sent', @@ -1626,6 +1627,7 @@ 'ipfire side is invalid' => 'IPFire side is invalid.', 'ipfires hostname' => 'IPFire\'s Hostname', 'ipinfo' => 'IP info', +'ips throughput' => 'Throughput', 'ipsec' => 'IPsec', 'ipsec connection' => 'IPsec Connection', 'ipsec dns server address is invalid' => 'Invalid DNS server IP address(es)', @@ -2291,6 +2293,7 @@ 'save error' => 'Unable to save configuration archive file', 'save settings' => 'Save settings', 'save-adv-options' => 'Save advanced options', +'scanned' => 'Scanned', 'script name' => 'Script name:', 'search' => 'Search', 'secondary dns' => 'Secondary DNS:', @@ -2575,6 +2578,7 @@ 'tor traffic read written' => 'Total traffic (read/written)', 'tor use exit nodes' => 'Use only these exit nodes (one fingerprint per line)', 'tor use guard nodes' => 'Use only these guard nodes (one fingerprint per line)', +'total' => 'Total', 'total connection time' => 'Total Connection Time', 'total hits for log section' => 'Total hits for log section', 'traffic back' => 'Back',