# Generate Graphs exported from Makegraphs to minimize system load an only generate the Graphs when displayed
-# Initialisation
+# This is part of the IPFire Firewall
package Graphs;
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
-$General::version = '2.0b';
-$General::swroot = '/var/ipfire';
-
my $ERROR;
my $rrdlog = "/var/log/rrd";
my $graphs = "/srv/web/ipfire/html/graphs";
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'cpu usage per'} $tr{$period}",
+ "-t $Lang::tr{'cpu usage per'} $Lang::tr{$period}",
"DEF:iowait=$rrdlog/cpu.rrd:iowait:AVERAGE",
"DEF:user=$rrdlog/cpu.rrd:user:AVERAGE",
"DEF:system=$rrdlog/cpu.rrd:system:AVERAGE",
"CDEF:idlepct=100,idle,total,/,*",
"CDEF:iowaitpct=100,iowait,total,/,*",
"CDEF:irqpct=100,irq,total,/,*",
- "COMMENT:$tr{'caption'}\\t\\t\\t ",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
- "AREA:iowaitpct".$color{"color14"}.":$tr{'iowait'}",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t\\t ",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "AREA:iowaitpct".$color{"color14"}.":$Lang::tr{'iowait'}",
"GPRINT:iowaitpct:MAX:%3.2lf%%",
"GPRINT:iowaitpct:AVERAGE:%3.2lf%%",
"GPRINT:iowaitpct:MIN:%3.2lf%%",
"GPRINT:iowaitpct:LAST:%3.2lf%%\\j",
- "STACK:irqpct".$color{"color23"}.":IRQ CPU ",
+ "STACK:irqpct".$color{"color23"}.":$Lang::tr{'cpu irq usage'}",
"GPRINT:irqpct:MAX:%3.2lf%%",
"GPRINT:irqpct:AVERAGE:%3.2lf%%",
"GPRINT:irqpct:MIN:%3.2lf%%",
"GPRINT:irqpct:LAST:%3.2lf%%\\j",
- "STACK:userpct".$color{"color11"}.":$tr{'user cpu usage'}",
+ "STACK:userpct".$color{"color11"}.":$Lang::tr{'user cpu usage'}",
"GPRINT:userpct:MAX:%3.2lf%%",
"GPRINT:userpct:AVERAGE:%3.2lf%%",
"GPRINT:userpct:MIN:%3.2lf%%",
"GPRINT:userpct:LAST:%3.2lf%%\\j",
- "STACK:systempct".$color{"color13"}.":$tr{'system cpu usage'}",
+ "STACK:systempct".$color{"color13"}.":$Lang::tr{'system cpu usage'}",
"GPRINT:systempct:MAX:%3.2lf%%",
"GPRINT:systempct:AVERAGE:%3.2lf%%",
"GPRINT:systempct:MIN:%3.2lf%%",
"GPRINT:systempct:LAST:%3.2lf%%\\j",
- "STACK:idlepct".$color{"color12"}.":$tr{'idle cpu usage'}",
+ "STACK:idlepct".$color{"color12"}.":$Lang::tr{'idle cpu usage'}",
"GPRINT:idlepct:MAX:%3.2lf%%",
"GPRINT:idlepct:AVERAGE:%3.2lf%%",
"GPRINT:idlepct:MIN:%3.2lf%%",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'memory usage per'} $tr{$period}",
+ "-t $Lang::tr{'memory usage per'} $Lang::tr{$period}",
"DEF:used=$rrdlog/mem.rrd:memused:AVERAGE",
"DEF:free=$rrdlog/mem.rrd:memfree:AVERAGE",
"DEF:shared=$rrdlog/mem.rrd:memshared:AVERAGE",
"CDEF:bufferpct=100,buffer,total,/,*",
"CDEF:cachepct=100,cache,total,/,*",
"CDEF:freepct=100,free,total,/,*",
- "COMMENT:$tr{'caption'}\\t\\t\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
- "AREA:usedpct".$color{"color11"}.":$tr{'used memory'}",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "AREA:usedpct".$color{"color11"}.":$Lang::tr{'used memory'}",
"GPRINT:usedpct:MAX:%3.2lf%%",
"GPRINT:usedpct:AVERAGE:%3.2lf%%",
"GPRINT:usedpct:MIN:%3.2lf%%",
"GPRINT:usedpct:LAST:%3.2lf%%\\j",
- "STACK:sharedpct".$color{"color13"}.":$tr{'shared memory'}",
+ "STACK:sharedpct".$color{"color13"}.":$Lang::tr{'shared memory'}",
"GPRINT:sharedpct:MAX:%3.2lf%%",
"GPRINT:sharedpct:AVERAGE:%3.2lf%%",
"GPRINT:sharedpct:MIN:%3.2lf%%",
"GPRINT:sharedpct:LAST:%3.2lf%%\\j",
- "STACK:bufferpct".$color{"color23"}.":$tr{'buffered memory'}",
+ "STACK:bufferpct".$color{"color23"}.":$Lang::tr{'buffered memory'}",
"GPRINT:bufferpct:MAX:%3.2lf%%",
"GPRINT:bufferpct:AVERAGE:%3.2lf%%",
"GPRINT:bufferpct:MIN:%3.2lf%%",
"GPRINT:bufferpct:LAST:%3.2lf%%\\j",
- "STACK:cachepct".$color{"color14"}.":$tr{'cached memory'}",
+ "STACK:cachepct".$color{"color14"}.":$Lang::tr{'cached memory'}",
"GPRINT:cachepct:MAX:%3.2lf%%",
"GPRINT:cachepct:AVERAGE:%3.2lf%%",
"GPRINT:cachepct:MIN:%3.2lf%%",
"GPRINT:cachepct:LAST:%3.2lf%%\\j",
- "STACK:freepct".$color{"color12"}.":$tr{'free memory'}",
+ "STACK:freepct".$color{"color12"}.":$Lang::tr{'free memory'}",
"GPRINT:freepct:MAX:%3.2lf%%",
"GPRINT:freepct:AVERAGE:%3.2lf%%",
"GPRINT:freepct:MIN:%3.2lf%%",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'swap usage per'} $tr{$period}",
+ "-t $Lang::tr{'swap usage per'} $Lang::tr{$period}",
"DEF:used=$rrdlog/mem.rrd:swapused:AVERAGE",
"DEF:free=$rrdlog/mem.rrd:swapfree:AVERAGE",
"CDEF:total=used,free,+",
"CDEF:usedpct=100,used,total,/,*",
"CDEF:freepct=100,free,total,/,*",
- "COMMENT:$tr{'caption'}\\t\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
- "AREA:usedpct".$color{"color11"}.":$tr{'used swap'}",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "AREA:usedpct".$color{"color11"}.":$Lang::tr{'used swap'}",
"GPRINT:usedpct:MAX:%3.2lf%%",
"GPRINT:usedpct:AVERAGE:%3.2lf%%",
"GPRINT:usedpct:MIN:%3.2lf%%",
"GPRINT:usedpct:LAST:%3.2lf%%\\j",
- "STACK:freepct".$color{"color12"}.":$tr{'free swap'}",
+ "STACK:freepct".$color{"color12"}.":$Lang::tr{'free swap'}",
"GPRINT:freepct:MAX:%3.2lf%%",
"GPRINT:freepct:AVERAGE:%3.2lf%%",
"GPRINT:freepct:MIN:%3.2lf%%",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'disk access per'} $tr{$period} $disk",
+ "-t $Lang::tr{'disk access per'} $Lang::tr{$period} $disk",
"DEF:read=$rrdlog/disk-$disk.rrd:readsect:AVERAGE",
"DEF:write=$rrdlog/disk-$disk.rrd:writesect:AVERAGE",
- "AREA:read".$color{"color11"}.":$tr{'sectors read from disk per second'}",
- "STACK:write".$color{"color12"}.":$tr{'sectors written to disk per second'}\\j",
+ "AREA:read".$color{"color11"}.":$Lang::tr{'sectors read from disk per second'}",
+ "STACK:write".$color{"color12"}.":$Lang::tr{'sectors written to disk per second'}\\j",
"COMMENT: \\j",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'current'}\\j",
- "GPRINT:read:MAX:$tr{'read sectors'}\\:%8.0lf",
- "GPRINT:read:AVERAGE:$tr{'read sectors'}\\:%8.0lf",
- "GPRINT:read:LAST:$tr{'read sectors'}\\:%8.0lf\\j",
- "GPRINT:write:MAX:$tr{'written sectors'}\\:%8.0lf",
- "GPRINT:write:AVERAGE:$tr{'written sectors'}\\:%8.0lf",
- "GPRINT:write:LAST:$tr{'written sectors'}\\:%8.0lf\\j");
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "GPRINT:read:MAX:$Lang::tr{'read sectors'}\\:%8.0lf",
+ "GPRINT:read:AVERAGE:$$Lang::tr{'read sectors'}\\:%8.0lf",
+ "GPRINT:read:LAST:$Lang::tr{'read sectors'}\\:%8.0lf\\j",
+ "GPRINT:write:MAX:$Lang::tr{'written sectors'}\\:%8.0lf",
+ "GPRINT:write:AVERAGE:$Lang::tr{'written sectors'}\\:%8.0lf",
+ "GPRINT:write:LAST:$Lang::tr{'written sectors'}\\:%8.0lf\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for disk: $ERROR\n" if $ERROR;
}
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'traffic on'} $interface ($tr{'graph per'} $tr{$period})",
- "-v$tr{'bytes per second'}",
+ "-t $Lang::tr{'traffic on'} $interface ($Lang::tr{'graph per'} $Lang::tr{$period})",
+ "-v$Lang::tr{'bytes per second'}",
"DEF:incoming=$rrdlog/$interface.rrd:incoming:AVERAGE",
"DEF:outgoing=$rrdlog/$interface.rrd:outgoing:AVERAGE",
- "AREA:incoming".$color{"color11"}.":$tr{'incoming traffic in bytes per second'}",
- "AREA:outgoing".$color{"color12"}.":$tr{'outgoing traffic in bytes per second'}\\j",
+ "AREA:incoming".$color{"color11"}.":$Lang::tr{'incoming traffic in bytes per second'}",
+ "AREA:outgoing".$color{"color12"}.":$Lang::tr{'outgoing traffic in bytes per second'}\\j",
"COMMENT: \\j",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
- "GPRINT:incoming:MAX:$tr{'in'}\\:%8.3lf %sBps",
- "GPRINT:incoming:AVERAGE:$tr{'in'}\\:%8.3lf %sBps",
- "GPRINT:incoming:MIN:$tr{'in'}\\:%8.3lf %sBps",
- "GPRINT:incoming:LAST:$tr{'in'}\\:%8.3lf %sBps\\j",
- "GPRINT:outgoing:MAX:$tr{'out'}\\:%8.3lf %sBps",
- "GPRINT:outgoing:AVERAGE:$tr{'out'}\\:%8.3lf %sBps",
- "GPRINT:outgoing:MIN:$tr{'out'}\\:%8.3lf %sBps",
- "GPRINT:outgoing:LAST:$tr{'out'}\\:%8.3lf %sBps\\j");
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "GPRINT:incoming:MAX:$Lang::tr{'in'}\\:%8.3lf %sBps",
+ "GPRINT:incoming:AVERAGE:$Lang::tr{'in'}\\:%8.3lf %sBps",
+ "GPRINT:incoming:MIN:$Lang::tr{'in'}\\:%8.3lf %sBps",
+ "GPRINT:incoming:LAST:$Lang::tr{'in'}\\:%8.3lf %sBps\\j",
+ "GPRINT:outgoing:MAX:$Lang::tr{'out'}\\:%8.3lf %sBps",
+ "GPRINT:outgoing:AVERAGE:$$Lang::tr{'out'}\\:%8.3lf %sBps",
+ "GPRINT:outgoing:MIN:$Lang::tr{'out'}\\:%8.3lf %sBps",
+ "GPRINT:outgoing:LAST:$Lang::tr{'out'}\\:%8.3lf %sBps\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for $interface: $ERROR\n" if $ERROR;
}
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'firewall hits per'} $tr{$period}",
+ "-t $Lang::tr{'firewall hits per'} $Lang::tr{$period}",
"DEF:amount=$rrdlog/firewallhits.rrd:amount:AVERAGE",
"DEF:portamount=$rrdlog/firewallhits.rrd:portamount:AVERAGE",
- "COMMENT:$tr{'caption'}\\t\\t\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
- "AREA:amount".$color{"color24"}.":$tr{'firewallhits'}/5 min",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
+ "AREA:amount".$color{"color24"}.":$Lang::tr{'firewallhits'}/5 min",
"GPRINT:amount:MAX:%2.2lf %S",
"GPRINT:amount:AVERAGE:%2.2lf %S",
"GPRINT:amount:MIN:%2.2lf %S",
"GPRINT:amount:LAST:%2.2lf %S\\j",
- "STACK:portamount".$color{"color25"}.":$tr{'portscans'}/5 min",
+ "STACK:portamount".$color{"color25"}.":$Lang::tr{'portscans'}/5 min",
"GPRINT:portamount:MAX:%2.2lf %S",
"GPRINT:portamount:MIN:%2.2lf %S",
"GPRINT:portamount:AVERAGE:%2.2lf %S",
RRDs::graph ("$graphs/lq-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",
- "-t $tr{'linkq'} ($tr{'graph per'} $tr{$period})",
+ "-t $Lang::tr{'linkq'} ($Lang::tr{'graph per'} $Lang::tr{$period})",
"--lazy",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"AREA:r0".$color{"color12"}.":<30 ms",
"AREA:loss10".$color{"color13"}.":Packet loss (x10)\\j",
"COMMENT: \\j",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
"LINE1:roundtrip#707070:",
"GPRINT:roundtrip:MAX:Time\\:%3.2lf ms",
"GPRINT:roundtrip:AVERAGE:Time\\:%3.2lf ms",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'harddisk temperature'} ($tr{'graph per'} $tr{$period})",
+ "-t $Lang::tr{'harddisk temperature'} ($Lang::tr{'graph per'} $Lang::tr{$period})",
"DEF:temperature=$rrdlog/hddtemp-$disk.rrd:temperature:AVERAGE",
- "LINE2:temperature".$color{"color11"}.":$tr{'hdd temperature in'} C\\j",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",
+ "LINE2:temperature".$color{"color11"}.":$Lang::tr{'hdd temperature in'} C\\j",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",
"GPRINT:temperature:MAX:%3.0lf Grad C",
"GPRINT:temperature:AVERAGE:%3.0lf Grad C",
"GPRINT:temperature:MIN:%3.0lf Grad C",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'mbmon temp'} ($tr{'graph per'} $tr{$period})",
- "COMMENT:$tr{'caption'}\\t\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",);
+ "-t $Lang::tr{'mbmon temp'} ($Lang::tr{'graph per'} $Lang::tr{$period})",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",);
foreach $key ( sort(keys %mbmon_values) )
{
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'mbmon fan'} ($tr{'graph per'} $tr{$period})",
- "COMMENT:$tr{'caption'}\\t\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",);
+ "-t $Lang::tr{'mbmon fan'} ($Lang::tr{'graph per'} $Lang::tr{$period})",
+ "COMMENT:$Lang::tr{'caption'}\\t\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",);
foreach $key ( sort(keys %mbmon_values) )
{
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
- "-t $tr{'mbmon volt'} ($tr{'graph per'} $tr{$period})",
- "COMMENT:$tr{'caption'}\\t",
- "COMMENT:$tr{'maximal'}",
- "COMMENT:$tr{'average'}",
- "COMMENT:$tr{'minimal'}",
- "COMMENT:$tr{'current'}\\j",);
+ "-t $Lang::tr{'mbmon volt'} ($Lang::tr{'graph per'} $Lang::tr{$period})",
+ "COMMENT:$Lang::tr{'caption'}\\t",
+ "COMMENT:$Lang::tr{'maximal'}",
+ "COMMENT:$Lang::tr{'average'}",
+ "COMMENT:$Lang::tr{'minimal'}",
+ "COMMENT:$Lang::tr{'current'}\\j",);
foreach $key ( sort(keys %mbmon_values) )
{