Corrected guardian

build lcd4linux
startet integrating collection deamon


git-svn-id: http://svn.ipfire.org/svn/ipfire/branches/2.1/trunk@1151 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
maniacikarus
2008-01-23 18:00:28 +00:00
parent e0c749da1c
commit a332b303e4
20 changed files with 700 additions and 487 deletions

View File

@@ -52,52 +52,73 @@ if ((${Lang::language} eq 'el') ||
sub updatecpugraph {
my $period = $_[0];
my $period = $_[0];
RRDs::graph ("$graphs/cpu-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",, "-v $Lang::tr{'percentage'}",
"--alt-y-grid", "-w 600", "-h 150", "-l 0", "-u 100", "-r",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-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",
"DEF:idle=$rrdlog/cpu.rrd:idle:AVERAGE",
"DEF:irq=$rrdlog/cpu.rrd:irq:AVERAGE",
"CDEF:total=user,system,idle,iowait,irq,+,+,+,+",
"DEF:iowait=$rrdlog/collectd/localhost/cpu-0/cpu-wait.rrd:value:AVERAGE",
"DEF:nice=$rrdlog/collectd/localhost/cpu-0/cpu-nice.rrd:value:AVERAGE",
"DEF:interrupt=$rrdlog/collectd/localhost/cpu-0/cpu-interrupt.rrd:value:AVERAGE",
"DEF:steal=$rrdlog/collectd/localhost/cpu-0/cpu-steal.rrd:value:AVERAGE",
"DEF:user=$rrdlog/collectd/localhost/cpu-0/cpu-user.rrd:value:AVERAGE",
"DEF:system=$rrdlog/collectd/localhost/cpu-0/cpu-system.rrd:value:AVERAGE",
"DEF:idle=$rrdlog/collectd/localhost/cpu-0/cpu-idle.rrd:value:AVERAGE",
"DEF:irq=$rrdlog/collectd/localhost/cpu-0/cpu-softirq.rrd:value:AVERAGE",
"CDEF:total=user,system,idle,iowait,irq,nice,interrupt,steal,+,+,+,+,+,+,+",
"CDEF:userpct=100,user,total,/,*",
"CDEF:nicepct=100,nice,total,/,*",
"CDEF:interruptpct=100,interrupt,total,/,*",
"CDEF:stealpct=100,steal,total,/,*",
"CDEF:systempct=100,system,total,/,*",
"CDEF:idlepct=100,idle,total,/,*",
"CDEF:iowaitpct=100,iowait,total,/,*",
"CDEF:irqpct=100,irq,total,/,*",
"COMMENT:$Lang::tr{'caption'}\\t\\t\\t ",
"COMMENT:".sprintf("%-29s",$Lang::tr{'caption'}),
"COMMENT:$Lang::tr{'maximal'}",
"COMMENT:$Lang::tr{'average'}",
"COMMENT:$Lang::tr{'minimal'}",
"COMMENT:$Lang::tr{'current'}\\j",
"AREA:iowaitpct".$color{"color14"}.":$Lang::tr{'iowait'}",
"AREA:iowaitpct".$color{"color14"}.":".sprintf("%-25s",$Lang::tr{'cpu iowait usage'}),
"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"}.":$Lang::tr{'cpu irq usage'}",
"STACK:irqpct".$color{"color23"}."A0:".sprintf("%-25s",$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"}.":$Lang::tr{'user cpu usage'}",
"STACK:nicepct".$color{"color16"}."A0:".sprintf("%-25s",$Lang::tr{'cpu nice usage'}),
"GPRINT:nicepct:MAX:%3.2lf%%",
"GPRINT:nicepct:AVERAGE:%3.2lf%%",
"GPRINT:nicepct:MIN:%3.2lf%%",
"GPRINT:nicepct:LAST:%3.2lf%%\\j",
"STACK:interruptpct".$color{"color15"}."A0:".sprintf("%-25s",$Lang::tr{'cpu interrupt usage'}),
"GPRINT:interruptpct:MAX:%3.2lf%%",
"GPRINT:interruptpct:AVERAGE:%3.2lf%%",
"GPRINT:interruptpct:MIN:%3.2lf%%",
"GPRINT:interruptpct:LAST:%3.2lf%%\\j",
"STACK:stealpct".$color{"color18"}."A0:".sprintf("%-25s",$Lang::tr{'cpu steal usage'}),
"GPRINT:stealpct:MAX:%3.2lf%%",
"GPRINT:stealpct:AVERAGE:%3.2lf%%",
"GPRINT:stealpct:MIN:%3.2lf%%",
"GPRINT:stealpct:LAST:%3.2lf%%\\j",
"STACK:userpct".$color{"color11"}."A0:".sprintf("%-25s",$Lang::tr{'cpu user 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"}.":$Lang::tr{'system cpu usage'}",
"STACK:systempct".$color{"color13"}."A0:".sprintf("%-25s",$Lang::tr{'cpu system 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"}.":$Lang::tr{'idle cpu usage'}",
"STACK:idlepct".$color{"color12"}."A0:".sprintf("%-25s",$Lang::tr{'cpu idle usage'}),
"GPRINT:idlepct:MAX:%3.2lf%%",
"GPRINT:idlepct:AVERAGE:%3.2lf%%",
"GPRINT:idlepct:MIN:%3.2lf%%",
@@ -111,19 +132,19 @@ sub updateloadgraph {
RRDs::graph ("$graphs/load-$period.png",
"--start", "-1$period", "-aPNG",
"-w 600", "-h 100", "-i", "-z", "-W www.ipfire.org", "-l 0", "-r", "--alt-y-grid",
"-w 600", "-h 150", "-i", "-z", "-W www.ipfire.org", "-l 0", "-r", "--alt-y-grid",
"-t Load Average $Lang::tr{'graph per'} $Lang::tr{$period}",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"DEF:load1=$rrdlog/load.rrd:load1:AVERAGE",
"DEF:load5=$rrdlog/load.rrd:load5:AVERAGE",
"DEF:load15=$rrdlog/load.rrd:load15:AVERAGE",
"AREA:load1".$color{"color13"}.":1 Minute, letzter:",
"DEF:load1=$rrdlog/collectd/localhost/load/load.rrd:shortterm:AVERAGE",
"DEF:load5=$rrdlog/collectd/localhost/load/load.rrd:midterm:AVERAGE",
"DEF:load15=$rrdlog/collectd/localhost/load/load.rrd:longterm:AVERAGE",
"AREA:load1".$color{"color13"}."A0:1 Minute, letzter:",
"GPRINT:load1:LAST:%5.2lf",
"AREA:load5".$color{"color18"}.":5 Minuten, letzter:",
"AREA:load5".$color{"color18"}."A0:5 Minuten, letzter:",
"GPRINT:load5:LAST:%5.2lf",
"AREA:load15".$color{"color14"}.":15 Minuten, letzter:",
"AREA:load15".$color{"color14"}."A0:15 Minuten, letzter:",
"GPRINT:load15:LAST:%5.2lf\\j",
"LINE1:load5".$color{"color13"},
"LINE1:load1".$color{"color18"});
@@ -135,50 +156,42 @@ sub updatememgraph {
my $period = $_[0];
RRDs::graph ("$graphs/memory-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org", "-v $Lang::tr{'percentage'}",
"--alt-y-grid", "-w 600", "-h 150", "-l 0", "-u 100", "-r",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-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",
"DEF:buffer=$rrdlog/mem.rrd:membuffers:AVERAGE",
"DEF:cache=$rrdlog/mem.rrd:memcache:AVERAGE",
"CDEF:total=used,free,+",
"CDEF:used2=used,buffer,cache,shared,+,+,-",
"CDEF:usedpct=100,used2,total,/,*",
"CDEF:sharedpct=100,shared,total,/,*",
"CDEF:bufferpct=100,buffer,total,/,*",
"CDEF:cachepct=100,cache,total,/,*",
"CDEF:freepct=100,free,total,/,*",
"COMMENT:$Lang::tr{'caption'}\\t\\t\\t",
"DEF:used=$rrdlog/collectd/localhost/memory/memory-used.rrd:value:AVERAGE",
"DEF:free=$rrdlog/collectd/localhost/memory/memory-free.rrd:value:AVERAGE",
"DEF:buffer=$rrdlog/collectd/localhost/memory/memory-buffered.rrd:value:AVERAGE",
"DEF:cache=$rrdlog/collectd/localhost/memory/memory-cached.rrd:value:AVERAGE",
"CDEF:total=used,free,cache,buffer,+,+,+",
"CDEF:usedpct=used,total,/,100,*",
"CDEF:bufferpct=buffer,total,/,100,*",
"CDEF:cachepct=cache,total,/,100,*",
"CDEF:freepct=free,total,/,100,*",
"COMMENT:$Lang::".sprintf("%-29s",$Lang::tr{'caption'}),
"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'}",
"AREA:usedpct".$color{"color11"}."A0:".sprintf("%-25s",$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"}.":$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"}.":$Lang::tr{'buffered memory'}",
"STACK:bufferpct".$color{"color23"}."A0:".sprintf("%-25s",$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"}.":$Lang::tr{'cached memory'}",
"STACK:cachepct".$color{"color14"}."A0:".sprintf("%-25s",$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"}.":$Lang::tr{'free memory'}",
"STACK:freepct".$color{"color12"}."A0:".sprintf("%-25s",$Lang::tr{'free memory'}),
"GPRINT:freepct:MAX:%3.2lf%%",
"GPRINT:freepct:AVERAGE:%3.2lf%%",
"GPRINT:freepct:MIN:%3.2lf%%",
@@ -187,32 +200,39 @@ sub updatememgraph {
print "Error in RRD::graph for mem: $ERROR\n" if $ERROR;
RRDs::graph ("$graphs/swap-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org", "-v $Lang::tr{'percentage'}",
"--alt-y-grid", "-w 600", "-h 150", "-l 0", "-u 100", "-r",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-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,+",
"DEF:used=$rrdlog/collectd/localhost/swap/swap-used.rrd:value:AVERAGE",
"DEF:free=$rrdlog/collectd/localhost/swap/swap-free.rrd:value:AVERAGE",
"DEF:cached=$rrdlog/collectd/localhost/swap/swap-cached.rrd:value:AVERAGE",
"CDEF:total=used,free,cached,+,+",
"CDEF:usedpct=100,used,total,/,*",
"CDEF:freepct=100,free,total,/,*",
"COMMENT:$Lang::tr{'caption'}\\t\\t",
"CDEF:cachedpct=100,cached,total,/,*",
"COMMENT:$Lang::".sprintf("%-29s",$Lang::tr{'caption'}),
"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'}",
"AREA:usedpct".$color{"color11"}."A0:".sprintf("%-25s",$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"}.":$Lang::tr{'free swap'}",
"STACK:freepct".$color{"color12"}."A0:".sprintf("%-25s",$Lang::tr{'free swap'}),
"GPRINT:freepct:MAX:%3.2lf%%",
"GPRINT:freepct:AVERAGE:%3.2lf%%",
"GPRINT:freepct:MIN:%3.2lf%%",
"GPRINT:freepct:LAST:%3.2lf%%\\j");
"GPRINT:freepct:LAST:%3.2lf%%\\j",
"STACK:cachedpct".$color{"color13"}."A0:".sprintf("%-25s",$Lang::tr{'cached swap'}),
"GPRINT:cachedpct:MAX:%3.2lf%%",
"GPRINT:cachedpct:AVERAGE:%3.2lf%%",
"GPRINT:cachedpct:MIN:%3.2lf%%",
"GPRINT:cachedpct:LAST:%3.2lf%%\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for swap: $ERROR\n" if $ERROR;
}
@@ -222,139 +242,135 @@ sub updatediskgraph {
my $disk = $_[1];
RRDs::graph ("$graphs/disk-$disk-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",
"--color", "SHADEA".$color{"color19"},
"--start", "-1$period", "-aPNG", "-i", "-W www.ipfire.org", "-v $Lang::tr{'bytes per second'}",
"--alt-y-grid", "-w 600", "-h 150", "-r", "-z",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-t $disk $Lang::tr{'disk access per'} $Lang::tr{$period}",
"DEF:read=$rrdlog/disk-$disk.rrd:readsect:AVERAGE",
"DEF:write=$rrdlog/disk-$disk.rrd:writesect:AVERAGE",
"DEF:read=$rrdlog/collectd/localhost/disk-$disk/disk_octets.rrd:read:AVERAGE",
"DEF:write=$rrdlog/collectd/localhost/disk-$disk/disk_octets.rrd:write:AVERAGE",
"CDEF:writen=write,-1,*",
"DEF:standby=$rrdlog/hddshutdown-$disk.rrd:standby:AVERAGE",
"CDEF:st=standby,INF,*",
"AREA:st".$color{"color20"}.":standby\\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:$Lang::".sprintf("%-25s",$Lang::tr{'caption'}),
"COMMENT:$Lang::tr{'maximal'}",
"COMMENT:$Lang::tr{'average'}",
"COMMENT:$Lang::tr{'minimal'}",
"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");
"AREA:st".$color{"color20"}.":standby\\j",
"AREA:read".$color{"color14"}."A0:".sprintf("%-25s",$Lang::tr{'read bytes'}),
"GPRINT:read:MAX:%8.1lf %sBps",
"GPRINT:read:AVERAGE:%8.1lf %sBps",
"GPRINT:read:MIN:%8.1lf %sBps",
"GPRINT:read:LAST:%8.1lf %sBps\\j",
"AREA:writen".$color{"color13"}."A0:".sprintf("%-25s",$Lang::tr{'written bytes'}),
"GPRINT:write:MAX:%8.1lf %sBps",
"GPRINT:write:AVERAGE:%8.1lf %sBps",
"GPRINT:write:MIN:%8.1lf %sBps",
"GPRINT:write:LAST:%8.1lf %sBps\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for disk: $ERROR\n" if $ERROR;
}
sub updateifgraph {
my $interface = $_[0];
my $period = $_[1];
my $interface = $_[0];
my $period = $_[1];
RRDs::graph ("$graphs/$interface-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-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"}.":$Lang::tr{'incoming traffic in bytes per second'}",
"AREA:outgoing".$color{"color12"}.":$Lang::tr{'outgoing traffic in bytes per second'}\\j",
"COMMENT: \\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;
RRDs::graph ("$graphs/$interface-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-W www.ipfire.org", "-v $Lang::tr{'bytes per second'}",
"--alt-y-grid", "-w 600", "-h 150", "-z", "-r",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-t $Lang::tr{'traffic on'} $interface $Lang::tr{'graph per'} $Lang::tr{$period}",
"-v$Lang::tr{'bytes per second'}",
"DEF:incoming=$rrdlog/collectd/localhost/interface/if_octets-$interface.rrd:rx:AVERAGE",
"DEF:outgoing=$rrdlog/collectd/localhost/interface/if_octets-$interface.rrd:tx:AVERAGE",
"CDEF:outgoingn=outgoing,-1,*",
"COMMENT:$Lang::".sprintf("%-20s",$Lang::tr{'caption'}),
"COMMENT:$Lang::tr{'maximal'}",
"COMMENT:$Lang::tr{'average'}",
"COMMENT:$Lang::tr{'minimal'}",
"COMMENT:$Lang::tr{'current'}\\j",
"AREA:incoming".$color{"color12"}."A0:$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:$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 updatefwhitsgraph {
my $period = $_[0];
RRDs::graph ("$graphs/firewallhits-$period-area.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-t $Lang::tr{'firewall hits per'} $Lang::tr{$period}",
"DEF:amount=$rrdlog/firewallhits.rrd:amount:AVERAGE",
"DEF:portamount=$rrdlog/firewallhits.rrd:portamount:AVERAGE",
"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"}.":$Lang::tr{'portscans'}/5 min",
"GPRINT:portamount:MAX:%2.2lf %S",
"GPRINT:portamount:MIN:%2.2lf %S",
"GPRINT:portamount:AVERAGE:%2.2lf %S",
"GPRINT:portamount:LAST:%2.2lf %S\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for Firewallhits: $ERROR\n" if $ERROR;
my $period = $_[0];
RRDs::graph ("$graphs/fwhits-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 150", "-r", "-v $Lang::tr{'bytes per second'}",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-t $Lang::tr{'firewall hits per'} $Lang::tr{$period}",
"DEF:output=$rrdlog/collectd/localhost/iptables-filter-FORWARD/ipt_bytes-DROP_OUTPUT.rrd:value:AVERAGE",
"DEF:input=$rrdlog/collectd/localhost/iptables-filter-INPUT/ipt_bytes-DROP_INPUT.rrd:value:AVERAGE",
"DEF:newnotsyn=$rrdlog/collectd/localhost/iptables-filter-NEWNOTSYN/ipt_bytes-DROP_NEWNOTSYN.rrd:value:AVERAGE",
"DEF:portscan=$rrdlog/collectd/localhost/iptables-filter-PSCAN/ipt_bytes-DROP_PScan.rrd:value:AVERAGE",
"CDEF:amount=output,input,newnotsyn,+,+",
"COMMENT:$Lang::".sprintf("%-20s",$Lang::tr{'caption'}),
"COMMENT:$Lang::tr{'maximal'}",
"COMMENT:$Lang::tr{'average'}",
"COMMENT:$Lang::tr{'minimal'}",
"COMMENT:$Lang::tr{'current'}\\j",
"AREA:amount".$color{"color24"}."A0:".sprintf("%-20s",$Lang::tr{'firewallhits'}),
"GPRINT:amount:MAX:%8.1lf %sBps",
"GPRINT:amount:AVERAGE:%8.1lf %sBps",
"GPRINT:amount:MIN:%8.1lf %sBps",
"GPRINT:amount:LAST:%8.1lf %sBps\\j",
"STACK:portscan".$color{"color25"}."A0:".sprintf("%-20s",$Lang::tr{'portscans'}),
"GPRINT:portscan:MAX:%8.1lf %sBps",
"GPRINT:portscan:MIN:%8.1lf %sBps",
"GPRINT:portscan:AVERAGE:%8.1lf %sBps",
"GPRINT:portscan:LAST:%8.1lf %sBps\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for Firewallhits: $ERROR\n" if $ERROR;
}
sub updatelqgraph {
my $period = $_[0];
RRDs::graph ("$graphs/lq-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",
"-t $Lang::tr{'linkq'} $Lang::tr{'graph per'} $Lang::tr{$period}",
"--lazy",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"-v ms / pkts (% x10)",
"DEF:roundtrip=$rrdlog/lq.rrd:roundtrip:AVERAGE",
"DEF:loss=$rrdlog/lq.rrd:loss:AVERAGE",
"CDEF:roundavg=roundtrip,PREV(roundtrip),+,2,/",
"CDEF:loss10=loss,10,*",
"CDEF:r0=roundtrip,30,MIN",
"CDEF:r1=roundtrip,70,MIN",
"CDEF:r2=roundtrip,150,MIN",
"CDEF:r3=roundtrip,300,MIN",
"AREA:roundtrip".$color{"color25"}.":>300 ms",
"AREA:r3".$color{"color18"}.":150-300 ms",
"AREA:r2".$color{"color14"}.":70-150 ms",
"AREA:r1".$color{"color17"}.":30-70 ms",
"AREA:r0".$color{"color12"}.":<30 ms",
"AREA:loss10".$color{"color13"}.":Packet loss (x10)\\j",
"COMMENT: \\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",
"GPRINT:roundtrip:MIN:Time\\:%3.2lf ms",
"GPRINT:roundtrip:LAST:Time\\:%3.2lf ms\\j",
"GPRINT:loss:MAX:Loss\\:%3.2lf%%",
"GPRINT:loss:AVERAGE:Loss\\:%3.2lf%%",
"GPRINT:loss:MIN:Loss\\:%3.2lf%%",
"GPRINT:loss:LAST:Loss\\:%3.2lf%%\\j"
);
$ERROR = RRDs::error;
print "Error in RRD::graph for Link Quality: $ERROR\n" if $ERROR;
my $period = $_[0];
RRDs::graph ("$graphs/lq-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 150", "-l 0", "-r", "-v ms",
"-t $Lang::tr{'linkq'} $Lang::tr{'graph per'} $Lang::tr{$period}",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
"DEF:roundtrip=$rrdlog/collectd/localhost/ping/ping-gateway.rrd:ping:AVERAGE",
"COMMENT:$Lang::".sprintf("%-20s",$Lang::tr{'caption'})."\\j",
"CDEF:r0=roundtrip,30,-",
"CDEF:r1=r0,70,-",
"CDEF:r2=r1,150,-",
"CDEF:r3=r2,300,-",
"AREA:r0".$color{"color12"}."A0:<30 ms",
"STACK:r1".$color{"color17"}."A0:30-70 ms",
"STACK:r2".$color{"color14"}."A0:70-150 ms",
"STACK:r3".$color{"color18"}."A0:150-300 ms",
"STACK:roundtrip".$color{"color25"}.":>300 ms\\j",
"COMMENT:$Lang::tr{'maximal'}",
"COMMENT:$Lang::tr{'average'}",
"COMMENT:$Lang::tr{'minimal'}",
"COMMENT:$Lang::tr{'current'}\\j",
"LINE1:roundtrip#707070:",
"GPRINT:roundtrip:MAX:%3.2lf ms",
"GPRINT:roundtrip:AVERAGE:%3.2lf ms",
"GPRINT:roundtrip:MIN:%3.2lf ms",
"GPRINT:roundtrip:LAST:%3.2lf ms\\j");
$ERROR = RRDs::error;
print "Error in RRD::graph for Link Quality: $ERROR\n" if $ERROR;
}
sub updatehddgraph {
@@ -364,7 +380,7 @@ sub updatehddgraph {
RRDs::graph ("$graphs/hddtemp-$disk-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100",
"--alt-y-grid", "-w 600", "-h 150",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
@@ -395,7 +411,7 @@ sub updatetempgraph
@args = ("$graphs/mbmon-$type-$period.png",
"--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "--alt-autoscale",
"--alt-y-grid", "-w 600", "-h 150", "--alt-autoscale",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
@@ -436,7 +452,7 @@ sub updatefangraph
my $count = "11";
@args = ("$graphs/mbmon-$type-$period.png", "--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "--alt-autoscale",
"--alt-y-grid", "-w 600", "-h 150", "--alt-autoscale",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},
@@ -477,7 +493,7 @@ sub updatevoltgraph
my $count = "11";
@args = ("$graphs/mbmon-$type-$period.png", "--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org",
"--alt-y-grid", "-w 600", "-h 100", "--alt-autoscale",
"--alt-y-grid", "-w 600", "-h 150", "--alt-autoscale",
"--color", "SHADEA".$color{"color19"},
"--color", "SHADEB".$color{"color19"},
"--color", "BACK".$color{"color21"},

View File

@@ -0,0 +1,214 @@
#
# Config file for collectd(1).
# Please read collectd.conf(5) for a list of options.
# http://collectd.org/
#
Hostname "localhost"
BaseDir "/var/log/rrd/collectd"
PIDFile "/var/run/collectd.pid"
PluginDir "/usr/lib/collectd"
TypesDB "/usr/lib/collectd/types.db"
Interval 30
ReadThreads 3
#LoadPlugin apache
#LoadPlugin battery
LoadPlugin cpu
#LoadPlugin cpufreq
#LoadPlugin df
LoadPlugin disk
#LoadPlugin dns
#LoadPlugin email
#LoadPlugin entropy
#LoadPlugin exec
#LoadPlugin hddtemp
LoadPlugin interface
LoadPlugin iptables
#LoadPlugin ipvs
#LoadPlugin irq
LoadPlugin load
#LoadPlugin logfile
#LoadPlugin mbmon
#LoadPlugin memcached
LoadPlugin memory
#LoadPlugin multimeter
#LoadPlugin mysql
#LoadPlugin netlink
#LoadPlugin network
#LoadPlugin nfs
#LoadPlugin nginx
#LoadPlugin ntpd
#LoadPlugin nut
#LoadPlugin perl
LoadPlugin ping
#LoadPlugin processes
LoadPlugin rrdtool
#LoadPlugin sensors
#LoadPlugin serial
LoadPlugin swap
LoadPlugin syslog
#LoadPlugin tape
#LoadPlugin tcpconns
#LoadPlugin unixsock
#LoadPlugin users
#<Plugin apache>
# URL "http://localhost/status?auto"
# User "www-user"
# Password "secret"
# CACert "/etc/ssl/ca.crt"
#</Plugin>
#<Plugin df>
# Device "/dev/hda"
# Device "192.168.0.2:/mnt/nfs"
# MountPoint "/home"
# FSType "ext3"
# IgnoreSelected false
#</Plugin>
#<Plugin dns>
# Interface "eth0"
# IgnoreSource "192.168.0.1"
#</Plugin>
#<Plugin email>
# SocketFile "/usr/var/run/collectd-email"
# SocketGroup "collectd"
# SocketPerms "0770"
# MaxConns 5
#</Plugin>
#<Plugin exec>
# Exec "user:group" "/path/to/exec"
#</Plugin>
#<Plugin hddtemp>
# Host "127.0.0.1"
# Port "7634"
#</Plugin>
<Plugin interface>
Interface "ppp0"
Interface "lo"
Interface "ipsec1"
Interface "ipsec2"
Interface "ipsec3"
IgnoreSelected true
</Plugin>
<Plugin iptables>
Chain filter INPUT DROP_INPUT
Chain filter FORWARD DROP_OUTPUT
Chain filter PSCAN DROP_PScan
Chain filter NEWNOTSYN DROP_NEWNOTSYN
Chain filter OUTGOINGFW DROP_OUTGOINGFW
</Plugin>
#<Plugin irq>
# Irq 7
# Irq 8
# Irq 9
# IgnoreSelected true
#</Plugin>
#<Plugin logfile>
# LogLevel info
# File STDOUT
#</Plugin>
#<Plugin mbmon>
# Host "127.0.0.1"
# Port "411"
#</Plugin>
#<Plugin memcached>
# Host "127.0.0.1"
# Port "11211"
#</Plugin>
#<Plugin mysql>
# Host "database.serv.er"
# User "db_user"
# Password "secret"
# Database "db_name"
#</Plugin>
#<Plugin netlink>
# Interface "All"
# VerboseInterface "All"
# QDisc "eth0" "pfifo_fast-1:0"
# Class "ppp0" "htb-1:10"
# Filter "ppp0" "u32-1:0"
#</Plugin>
#<Plugin network>
# Server "ff18::efc0:4a42" "25826"
# Server "239.192.74.66" "25826"
# Listen "ff18::efc0:4a42" "25826"
# Listen "239.192.74.66" "25826"
# TimeToLive "128"
# Forward false
# CacheFlush 1800
#</Plugin>
#<Plugin nginx>
# URL "http://localhost/status?auto"
# User "www-user"
# Password "secret"
# CACert "/etc/ssl/ca.crt"
#</Plugin>
#<Plugin ntpd>
# Host "localhost"
# Port 123
#</Plugin>
#<Plugin nut>
# UPS "upsname@hostname:port"
#</Plugin>
#<Plugin perl>
# IncludeDir "/my/include/path"
# BaseName "Collectd::Plugin"
# LoadPlugin foo
#</Plugin>
<Plugin ping>
Host "gateway"
</Plugin>
<Plugin processes>
Process "collectd"
</Plugin>
<Plugin rrdtool>
DataDir "/var/log/rrd/collectd"
CacheTimeout 300
CacheFlush 900
</Plugin>
#<Plugin sensors>
# Sensor "it8712-isa-0290/temperature-temp1"
# Sensor "it8712-isa-0290/fanspeed-fan3"
# Sensor "it8712-isa-0290/voltage-in8"
# IgnoreSelected false
#</Plugin>
<Plugin syslog>
LogLevel info
</Plugin>
#<Plugin tcpconns>
# ListeningPorts false
# LocalPort "6882"
# RemotePort "80"
#</Plugin>
#<Plugin unixsock>
# SocketFile "/usr/var/run/collectd-unixsock"
# SocketGroup "collectd"
# SocketPerms "0660"
#</Plugin>

View File

@@ -23,7 +23,14 @@
'title' => "$Lang::tr{'network red'}",
'enabled' => 1,
};
$substatus->{'41.networkother'} = {
$substatus->{'41.networkinternal'} = {
'caption' => "$Lang::tr{'network internal'}",
'uri' => '/cgi-bin/network.cgi',
'vars' => 'network=internal',
'title' => "$Lang::tr{'network internal'}",
'enabled' => 1,
};
$substatus->{'42.networkother'} = {
'caption' => "$Lang::tr{'network other'}",
'uri' => '/cgi-bin/network.cgi',
'vars' => 'network=other',
@@ -42,12 +49,6 @@
'title' => "$Lang::tr{'hardware graphs'}",
'enabled' => 1,
};
$substatus->{'70.fwhits'} = {
'caption' => "$Lang::tr{'firewall graphs'}",
'uri' => '/cgi-bin/fwhits.cgi',
'title' => "$Lang::tr{'firewall graphs'}",
'enabled' => 1,
};
$substatus->{'71.connections'} = {
'caption' => $Lang::tr{'connections'},
'uri' => '/cgi-bin/connections.cgi',

View File

@@ -90,7 +90,7 @@ if ( $outfwsettings{'POLICY'} eq 'MODE1' ) {
} elsif ( $outfwsettings{'POLICY'} eq 'MODE2' ) {
$outfwsettings{'STATE'} = "DENY";
$POLICY = "ACCEPT";
$DO = "DROP";
$DO = "DROP -m comment --comment 'DROP_OUTGOINGFW'";
}
### Initialize IPTables
@@ -167,9 +167,9 @@ foreach $configentry (sort @configs)
if ($configline[9] eq "aktiv") {
if ($DEBUG) {
print "$CMD -m state --state NEW -m limit --limit 10/minute -j LOG --log-prefix 'OUTGOINGFW '\n";
print "$CMD -m limit --limit 10/minute -j LOG --log-prefix 'OUTGOINGFW '\n";
} else {
system("$CMD -m state --state NEW -m limit --limit 10/minute -j LOG --log-prefix 'OUTGOINGFW '");
system("$CMD -m limit --limit 10/minute -j LOG --log-prefix 'OUTGOINGFW '");
}
}
@@ -213,7 +213,7 @@ if ($P2PSTRING) {
}
if ( $outfwsettings{'POLICY'} eq 'MODE1' ) {
$CMD = "/sbin/iptables -A OUTGOINGFW -o $netsettings{'RED_DEV'} -j DROP";
$CMD = "/sbin/iptables -A OUTGOINGFW -o $netsettings{'RED_DEV'} -j DROP -m comment --comment 'DROP_OUTGOINGFW'";
if ($DEBUG) {
print "$CMD\n";
} else {

View File

View File

@@ -0,0 +1 @@
usr/bin/lcd4linux

View File

@@ -394,3 +394,15 @@ WARNING: translation string unused: week
WARNING: translation string unused: weekly firewallhits
WARNING: translation string unused: xtaccess bad transfert
WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: cached swap
WARNING: untranslated string: cpu idle usage
WARNING: untranslated string: cpu interrupt usage
WARNING: untranslated string: cpu iowait usage
WARNING: untranslated string: cpu nice usage
WARNING: untranslated string: cpu steal usage
WARNING: untranslated string: cpu system usage
WARNING: untranslated string: cpu user usage
WARNING: untranslated string: network internal
WARNING: untranslated string: network traffic graphs others
WARNING: untranslated string: read bytes
WARNING: untranslated string: written bytes

View File

@@ -428,3 +428,15 @@ WARNING: translation string unused: week
WARNING: translation string unused: weekly firewallhits
WARNING: translation string unused: xtaccess bad transfert
WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: cached swap
WARNING: untranslated string: cpu idle usage
WARNING: untranslated string: cpu interrupt usage
WARNING: untranslated string: cpu iowait usage
WARNING: untranslated string: cpu nice usage
WARNING: untranslated string: cpu steal usage
WARNING: untranslated string: cpu system usage
WARNING: untranslated string: cpu user usage
WARNING: untranslated string: network internal
WARNING: untranslated string: network traffic graphs others
WARNING: untranslated string: read bytes
WARNING: untranslated string: written bytes

View File

@@ -53,6 +53,7 @@
* cdrtools-2.01
* centerim-4.22.1
* clamav-0.91.2
* collectd-4.2.3
* coreutils-5.96
* cpio-2.6
* cups-1.2.12
@@ -122,6 +123,7 @@
* kudzu-1.2.64
* l7-protocols-2007-10-10
* lame-3.97
* lcd4linux-0.10.1-RC2
* less-394
* libaal-1.0.5
* libart_lgpl-2.3.17

View File

@@ -46,25 +46,24 @@ $ENV{'QUERY_STRING'} =~ s/&//g;
@cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'});
$cgigraphs[1] = '' unless defined $cgigraphs[1];
if ($cgigraphs[1] =~ /(load)/) {&Graphs::updateloadgraph ("week");&Graphs::updateloadgraph ("month");&Graphs::updateloadgraph ("year");}
if ($cgigraphs[1] =~ /(cpu)/) {&Graphs::updatecpugraph ("week");&Graphs::updatecpugraph ("month");&Graphs::updatecpugraph ("year");}
if ($cgigraphs[1] =~ /(memory|swap)/) {&Graphs::updatememgraph ("week");&Graphs::updatememgraph ("month");&Graphs::updatememgraph ("year");}
if ($cgigraphs[1] =~ /(load)/) {&Graphs::updateloadgraph ("hour");&Graphs::updateloadgraph ("week");&Graphs::updateloadgraph ("month");&Graphs::updateloadgraph ("year");}
if ($cgigraphs[1] =~ /(cpu)/) {&Graphs::updatecpugraph ("hour");&Graphs::updatecpugraph ("week");&Graphs::updatecpugraph ("month");&Graphs::updatecpugraph ("year");}
if ($cgigraphs[1] =~ /(memory|swap)/) {&Graphs::updatememgraph ("hour");&Graphs::updatememgraph ("week");&Graphs::updatememgraph ("month");&Graphs::updatememgraph ("year");}
if ($cgigraphs[1] =~ /disk/){
my @devices = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`;
push(@devices,"uba");
foreach (@devices) {
my $device = $_;
chomp($device);
&Graphs::updatediskgraph ("hour",$device);
&Graphs::updatediskgraph ("week",$device);
&Graphs::updatediskgraph ("month",$device);
&Graphs::updatediskgraph ("year",$device);}}
if ($cgigraphs[1] =~ /lq/) {&Graphs::updatelqgraph("week");&Graphs::updatelqgraph("month");&Graphs::updatelqgraph("year");}
if ($cgigraphs[1] =~ /RED/) {&Graphs::updateifgraph("RED", "week");&Graphs::updateifgraph("RED", "month");&Graphs::updateifgraph("RED", "year");}
if ($cgigraphs[1] =~ /GREEN/) {&Graphs::updateifgraph("GREEN", "week");&Graphs::updateifgraph("GREEN", "month");&Graphs::updateifgraph("GREEN", "year");}
if ($cgigraphs[1] =~ /BLUE/) {&Graphs::updateifgraph("BLUE", "week");&Graphs::updateifgraph("BLUE", "month");&Graphs::updateifgraph("BLUE", "year");}
if ($cgigraphs[1] =~ /ORANGE/) {&Graphs::updateifgraph("ORANGE", "week");&Graphs::updateifgraph("ORANGE", "month");&Graphs::updateifgraph("ORANGE", "year");}
if ($cgigraphs[1] =~ /lq/) {&Graphs::updatelqgraph("hour");&Graphs::updatelqgraph("week");&Graphs::updatelqgraph("month");&Graphs::updatelqgraph("year");}
if ($cgigraphs[1] =~ /fwhits/) {&Graphs::updatefwhitsgraph("hour");&Graphs::updatefwhitsgraph("week");&Graphs::updatefwhitsgraph("month");&Graphs::updatefwhitsgraph("year");}
if ($cgigraphs[1] =~ /green/ || $cgigraphs[1] =~ /blue/ || $cgigraphs[1] =~ /ipsec/ || $cgigraphs[1] =~ /orange/ || $cgigraphs[1] =~ /red/ ) {&Graphs::updateifgraph($cgigraphs[1], "hour");&Graphs::updateifgraph($cgigraphs[1], "week");&Graphs::updateifgraph($cgigraphs[1], "month");&Graphs::updateifgraph($cgigraphs[1], "year");}
if ($cgigraphs[1] =~ /(network|GREEN|BLUE|ORANGE|RED|lq)/) {
if ($cgigraphs[1] =~ /(network|green|blue|orange|red|ipsec|lq)/) {
&Header::openpage($Lang::tr{'network traffic graphs'}, 1, '');
} else {
&Header::openpage($Lang::tr{'system graphs'}, 1, '');
@@ -72,7 +71,7 @@ if ($cgigraphs[1] =~ /(network|GREEN|BLUE|ORANGE|RED|lq)/) {
&Header::openbigbox('100%', 'left');
if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|lq|cpu|memory|swap|disk|load)/) {
if ($cgigraphs[1] =~ /(green|blue|orange|red|ipsec|lq|cpu|memory|swap|disk|load|fwhits)/) {
my $graph = $cgigraphs[1];
my $graphname = ucfirst(lc($cgigraphs[1]));
&Header::openbox('100%', 'center', "$graphname $Lang::tr{'graph'}");
@@ -81,6 +80,7 @@ if ($cgigraphs[1] =~ /(GREEN|BLUE|ORANGE|RED|lq|cpu|memory|swap|disk|load)/) {
my $ftime = localtime((stat("$graphdir/${graph}-day.png"))[9]);
print "<center>";
print "<b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br /><hr />\n";
print "<img alt='' src='/graphs/${graph}-hour.png' border='0' /><hr />";
print "<img alt='' src='/graphs/${graph}-day.png' border='0' /><hr />";
print "<img alt='' src='/graphs/${graph}-week.png' border='0' /><hr />";
print "<img alt='' src='/graphs/${graph}-month.png' border='0' /><hr />";

View File

@@ -50,15 +50,19 @@ $cgiparams[1] = '' unless defined $cgiparams[1];
if ($cgiparams[1] =~ /red/) {
&Header::openpage($Lang::tr{'network traffic graphs external'}, 1, '');
push (@graphs, ("RED"));
push (@graphs, ('lq'));
} else {
push (@graphs, ($netsettings{'RED_DEV'}));
push (@graphs, ("ipsec0"));
}elsif ($cgiparams[1] =~ /other/) {
&Header::openpage($Lang::tr{'network traffic graphs others'}, 1, '');
push (@graphs, ("lq"));
push (@graphs, ("fwhits"));
}else {
&Header::openpage($Lang::tr{'network traffic graphs internal'}, 1, '');
push (@graphs, ('GREEN'));
push (@graphs, ($netsettings{'GREEN_DEV'}));
if ($netsettings{'BLUE_DEV'}) {
push (@graphs, ('BLUE')); }
push (@graphs, ($netsettings{'BLUE_DEV'})); }
if ($netsettings{'ORANGE_DEV'}) {
push (@graphs, ('ORANGE')); }
push (@graphs, ($netsettings{'ORANGE_DEV'})); }
}
&Header::openbigbox('100%', 'left');
@@ -67,6 +71,8 @@ foreach my $graphname (@graphs) {
if ($graphname eq "lq" )
{ &Graphs::updatelqgraph("day"); }
elsif ($graphname eq "fwhits" )
{ &Graphs::updatefwhitsgraph("day"); }
else
{ &Graphs::updateifgraph($graphname, "day"); }

91
lfs/collectd Normal file
View File

@@ -0,0 +1,91 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# #
# 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/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
PKG_NAME = collectd
VER = 4.2.3
THISAPP = collectd-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = collectd
DEPS = ""
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 19ebd43875fa364a356065b1d692c944
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure --localstatedir=/var \
--disable-{apache,apple_sensors,csv,ipvs,memcached,mysql,netlink,nginx,nut} \
--disable-{perl,serial,sensors,snmp,tape,vserver,wireless,xmms} \
--enable-{apcups,battery,cpu{,freq},df,disk,dns,email,entropy,exec,hddtemp} \
--enable-{interface,iptables,irq,load,logfile,mbmon,memory,multimeter} \
--enable-{network,nfs,ntpd,ping,processes,rrdtool,swap,syslog} \
--enable-{tcpconns,unixsock,users} \
--with-rrdtool=/usr/share/rrdtool-1.2.15 --enable-debug
cd $(DIR_APP) && make install
cp -vf $(DIR_SRC)/config/collectd/collectd.conf /etc/
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -30,7 +30,7 @@ THISAPP = guardian-$(VER)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = guardian
PAK_VER = 1
PAK_VER = 2
DEPS = ""
@@ -64,5 +64,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
install -v -m 755 $(DIR_SRC)/config/guardian/guardian.pl /usr/local/bin/
install -v -m 755 $(DIR_SRC)/config/guardian/guardian_block.sh /usr/local/bin/
install -v -m 755 $(DIR_SRC)/config/guardian/guardian_unblock.sh /usr/local/bin/
chown nobody.nobody /var/ipfire/guardian
chown nobody.nobody /var/ipfire/guardian/{guardian.conf,guardian.ignore}
@$(POSTBUILD)

View File

@@ -90,8 +90,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# hack to disable IPv6 compilation as the configuration variable does not work when ip6.h is present
cd $(DIR_APP) && sed -i -e 's/DO_IPV6:=1/DO_IPV6:=0/' Makefile
cd $(DIR_APP) && make BINDIR=/sbin MANDIR=/usr/share/man LIBDIR=/lib $(MAKETUNING)
cd $(DIR_APP) && make BINDIR=/sbin MANDIR=/usr/share/man LIBDIR=/lib install
cd $(DIR_APP) && make BINDIR=/sbin MANDIR=/usr/share/man LIBDIR=/lib install install-devel
cd $(DIR_APP) && cp -fva include/* /usr/include
-mkdir /usr/include/libiptc
cd $(DIR_APP) && cp -vf include/libiptc/{libiptc.h,ipt_kernel_headers.h} \
/usr/include/libiptc
cd $(DIR_SRC) && tar xfj $(DIR_DL)/libnfnetlink-0.0.25.tar.bz2
cd $(DIR_SRC)/libnfnetlink-0.0.25 && ./configure --prefix=/usr

84
lfs/lcd4linux Normal file
View File

@@ -0,0 +1,84 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# #
# 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/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 0.10.1-RC2
THISAPP = lcd4linux-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = lcd4linux
PAK_VER = 1
DEPS = ""
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = a64c40feb74862cb4a91281bc7737f72
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire/lcd4linux
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -524,6 +524,8 @@ buildipfire() {
ipfiremake lsof
ipfiremake centerim
ipfiremake br2684ctl
ipfiremake collectd
ipfiremake lcd4linux
ipfiremake neon
ipfiremake subversion
}

View File

@@ -0,0 +1,48 @@
#!/bin/sh
# Begin $rc_base/init.d/collecd
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
boot_mesg "Starting Collection daemon..."
/usr/sbin/collectd -C /etc/collectd.conf
evaluate_retval
# for disk in `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; do boot_mesg "Bringing up hddtemp daemon for $disk ..."; /usr/sbin/hddtemp $disk -d -l localhost; evaluate_retval; done
# boot_mesg "Bringing up mbmon daemon..."
# /usr/bin/mbmon -P 411 -r
# evaluate_retval
;;
stop)
# boot_mesg "Stopping mbmon daemon..."
# killproc /usr/bin/mbmon
# evaluate_retval
# boot_mesg "Stopping hddtemp daemon..."
# killproc /usr/sbin/hddtemp
# evaluate_retval
boot_mesg "Stopping Collection daemon..."
killproc /usr/sbin/collectd
evaluate_retval
;;
restart)
$0 stop
sleep 1
$0 start
evaluate_retval
;;
status)
statusproc /usr/sbin/collectd
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/collectd

View File

@@ -159,6 +159,9 @@ case "${1}" in
. /var/ipfire/dhcpc/dhcpcd-${DEVICE}.info
echo "$IPADDR" > /var/ipfire/red/local-ipaddress
grep -v "gateway" /etc/hosts > /tmp/hosts
echo "$GATEWAY gateway" >> /tmp/hosts
mv /tmp/hosts /etc/hosts
echo "$GATEWAY" > /var/ipfire/red/remote-ipaddress
else
echo ""

View File

@@ -64,15 +64,15 @@ case "$1" in
;;
stop)
iptables -t nat -F SQUID
if [ -e /var/run/squid.pid ]; then
boot_mesg "Stopping Squid Proxy Server..."
iptables -t nat -F SQUID
squid -k shutdown >/dev/null 2>&1
evaluate_retval
killproc /usr/bin/squidGuard >/dev/null
killproc /usr/sbin/updxlrator >/dev/null
killproc /usr/sbin/squid >/dev/null
rm -rf /var/run/squid.pid
fi
;;

View File

@@ -92,260 +92,6 @@ while( $_ = <FD> )
close(FD);
close(MBMON_OUT);
sub gettraffic {
my $interface = $_[0];
my $bytesin=0;
my $bytesout=0;
foreach (@ipacsum){
# Incoming...
$bytesin += $1 if (/^[\* ]\s+incoming\s+${interface}.+\:\s+(\d+)/);
# Forwarded Incoming...
$bytesin += $1 if (/^[\* ]\s+forwarded\s+incoming\s+${interface}.+\:\s+(\d+)/);
# Outgoing...
$bytesout += $1 if (/^[* ]\s+outgoing\s+${interface}.+\:\s+(\d+)/);
# Forwarded Outgoing...
$bytesout += $1 if (/^[* ]\s+forwarded\s+outgoing\s+${interface}.+\:\s+(\d+)/);
}
return "$bytesin:$bytesout";
}
sub updatecpudata {
if ( ! -e "$rrdlog/cpu.rrd") {
RRDs::create ("$rrdlog/cpu.rrd", "--step=300",
"DS:user:COUNTER:600:0:500000000",
"DS:system:COUNTER:600:0:500000000",
"DS:idle:COUNTER:600:0:500000000",
"DS:iowait:COUNTER:600:0:500000000",
"DS:irq:COUNTER:600:0:500000000",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for cpu: $ERROR\n" if $ERROR;
}
my ($cpu, $user, $nice, $system, $idle, $iowait, $irq, $softirq);
open STAT, "/proc/stat";
while(<STAT>) {
chomp;
/^cpu\s/ or next;
($cpu, $user, $nice, $system, $idle, $iowait, $irq, $softirq) = split /\s+/;
last;
}
close STAT;
$user += $nice;
$irq += $softirq;
RRDs::update ("$rrdlog/cpu.rrd",
"-t", "user:system:idle:iowait:irq",
"N:$user:$system:$idle:$iowait:$irq");
$ERROR = RRDs::error;
print "Error in RRD::update for cpu: $ERROR\n" if $ERROR;
}
sub updateloaddata {
if ( ! -e "$rrdlog/load.rrd") {
RRDs::create ("$rrdlog/load.rrd", "--step=60",
"DS:load1:GAUGE:120:0:U",
"DS:load5:GAUGE:120:0:U",
"DS:load15:GAUGE:120:0:U",
"RRA:AVERAGE:0.5:1:2160",
"RRA:AVERAGE:0.5:5:2016",
"RRA:AVERAGE:0.5:15:2880",
"RRA:AVERAGE:0.5:60:8760");
$ERROR = RRDs::error;
print "Error in RRD::create for cpu: $ERROR\n" if $ERROR;
}
}
sub updatememdata {
my ($memused, $memfree, $memshared, $membuffers, $memcache, $swapused, $swapfree, $swaptotal);
if ( ! -e "$rrdlog/mem.rrd") {
RRDs::create ("$rrdlog/mem.rrd", "--step=300",
"DS:memused:ABSOLUTE:600:0:5000000000",
"DS:memfree:ABSOLUTE:600:0:5000000000",
"DS:memshared:ABSOLUTE:600:0:5000000000",
"DS:membuffers:ABSOLUTE:600:0:5000000000",
"DS:memcache:ABSOLUTE:600:0:5000000000",
"DS:swapused:ABSOLUTE:600:0:5000000000",
"DS:swapfree:ABSOLUTE:600:0:5000000000",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for mem: $ERROR\n" if $ERROR;
}
open MEM, "/proc/meminfo";
while(<MEM>) {
chomp;
if ($_ =~ /^MemTotal:/) {my @temp = split (/\s+/, $_);$memused = $temp[1];
} elsif ($_ =~ /^MemFree:/) {my @temp = split (/\s+/, $_);$memfree = $temp[1];
} elsif ($_ =~ /^Cached:/) {my @temp = split (/\s+/, $_);$memcache = $temp[1];
} elsif ($_ =~ /^Buffers:/) {my @temp = split (/\s+/, $_);$membuffers = $temp[1];
} elsif ($_ =~ /^SwapTotal:/) {my @temp = split (/\s+/, $_);$swaptotal = $temp[1];
} elsif ($_ =~ /^SwapFree:/) {my @temp = split (/\s+/, $_);$swapfree = $temp[1];}
}
close MEM;
system("/bin/df > /tmp/diskfree");
open DF, "/tmp/diskfree";
while(<DF>) {
chomp;
if ($_ =~ /^shm/) {my @temp = split (/\s+/, $_);$memshared = $temp[2];}
}
close DF;
system("/bin/rm -f /tmp/diskfree");
$swapused = $swaptotal-$swapfree;
RRDs::update ("$rrdlog/mem.rrd",
"-t", "memused:memfree:memshared:membuffers:memcache:swapused:swapfree",
"N:$memused:$memfree:$memshared:$membuffers:$memcache:$swapused:$swapfree");
$ERROR = RRDs::error;
print "Error in RRD::update for mem: $ERROR\n" if $ERROR;
}
sub updatediskdata {
my $disk = $_[0];
my ($readsect, $writesect, $trash);
my @array = split(/\//,$disk);
if ( ! -e "$rrdlog/disk-".$array[$#array].".rrd") {
RRDs::create ("$rrdlog/disk-".$array[$#array].".rrd", "--step=300",
"DS:readsect:COUNTER:600:0:5000000000",
"DS:writesect:COUNTER:600:0:5000000000",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for disk $disk: $ERROR\n" if $ERROR;
}
my $Zeilen = `/usr/bin/iostat $disk | tail -2 | head -1`;
($trash, $trash, $trash, $trash, $readsect, $writesect) = split(/\s+/,$Zeilen);
print "\nread:".$readsect."write:".$writesect."\n";
if ($readsect && $writesect) {
RRDs::update ("$rrdlog/disk-".$array[$#array].".rrd",
"-t", "readsect:writesect",
"N:$readsect:$writesect");
$ERROR = RRDs::error;
print "Error in RRD::update for disk $disk: $ERROR\n" if $ERROR;
} else {print "Error in RRD::update for disk: $disk no data available\n";}
}
sub updateifdata {
my $interface = $_[0];
if ( ! -e "$rrdlog/$interface.rrd") {
RRDs::create ("$rrdlog/$interface.rrd", "--step=300",
"DS:incoming:ABSOLUTE:600:0:12500000",
"DS:outgoing:ABSOLUTE:600:0:12500000",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for $interface: $ERROR\n" if $ERROR;
}
my $traffic = gettraffic ($interface);
RRDs::update ("$rrdlog/$interface.rrd",
"-t", "incoming:outgoing",
"N:$traffic");
$ERROR = RRDs::error;
print "Error in RRD::update for $interface: $ERROR\n" if $ERROR;
}
sub updatefwhitsdata {
my $portamount=0;
my $alertaktuell=0;
my $aktuell=0;
my $portaktuell=0;
my $skip=0;
if (! -e "$rrdlog/firewallhits.rrd"){
RRDs::create ("$rrdlog/firewallhits.rrd", "--step=300",
"DS:amount:GAUGE:600:0:U",
"DS:portamount:GAUGE:600:0:U",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for cpu: $ERROR\n" if $ERROR;
}
system("logtailfwhits /var/log/messages /var/log/fwhits.messages.offset >/tmp/messages.fwhits");
if (!(open (FILE,'/tmp/messages.fwhits'))) {$skip=1;}
$aktuell = 0;
if (!$skip) {
while (<FILE>) {
if (/kernel: DROP_INPUT.*$/) {$aktuell++;}
}
close (FILE);
}
system("logtailfwhits /var/log/snort/alert /var/log/snort/fwhits.alert.offset >/tmp/snort.fwhits");
if (!(open (FILE,'/tmp/snort.fwhits'))) {$skip=1;}
$alertaktuell = 0;
if (!$skip) {
while (<FILE>) {
if (/scan.*$/) {$alertaktuell++;}
}
close (FILE);
}
if (!(open (FILE,'/tmp/messages.fwhits'))) {$skip=1;}
$portaktuell = 0;
if (!$skip) {
while (<FILE>) {
if (/kernel:.*(Scan.*)$/) {$portaktuell++;}
}
close (FILE);
}
system("rm /tmp/messages.fwhits");
system("rm /tmp/snort.fwhits");
$portamount = $portaktuell + $alertaktuell;
chomp($portamount);
RRDs::update ("$rrdlog/firewallhits.rrd",
"N:$aktuell:$portamount");
$ERROR = RRDs::error;
print "Error in RRD::update for Firewallhits: $ERROR\n" if $ERROR;
}
# Creates and updates a link quality database
# -------------------------------------------
sub updatelq {
if ( ! -e "$rrdlog/lq.rrd") {
RRDs::create ("$rrdlog/lq.rrd", "--step=300",
"DS:loss:GAUGE:600:0:100",
"DS:roundtrip:GAUGE:600:0:10000",
"RRA:AVERAGE:0.5:1:576",
"RRA:AVERAGE:0.5:6:672",
"RRA:AVERAGE:0.5:24:732",
"RRA:AVERAGE:0.5:144:1460");
$ERROR = RRDs::error;
print "Error in RRD::create for link: $ERROR\n" if $ERROR;
}
my $packetloss=0;
my $roundtrip=0;
my $test=0;
#LQ_GATEWAY is the ip of your isp's public ip facing you
my $LQ_GATEWAY=`cat /var/ipfire/red/remote-ipaddress`;
chomp($LQ_GATEWAY);
my $NUMPINGS=5;
my $pingoutput = `/usr/bin/ping -w 10 -c $NUMPINGS -q $LQ_GATEWAY | tail -2`;
my @temp = split (/\/|\%|\s/, $pingoutput);
$packetloss = $temp[5];
$roundtrip = $temp[17];
print "Paketlos->".$packetloss."<-Roundtrip->".$roundtrip."<-\n";
if ( $packetloss eq "100" ){
my $pingoutput = `/usr/bin/ping -w 10 -c $NUMPINGS -q ping.ipfire.org | tail -2`;
my @temp = split (/\/|\%|\s/, $pingoutput);
$packetloss = $temp[5];
$roundtrip = $temp[17];
print "Paketlos->".$packetloss."<-Roundtrip->".$roundtrip."<-\n";
}
RRDs::update ("$rrdlog/lq.rrd", "N:$packetloss:$roundtrip");
$ERROR = RRDs::error;
print "Error in RRD::update for line quality: $ERROR\n" if $ERROR;
}
sub updatehdddata
{
my $disk = $_[0];
@@ -466,13 +212,6 @@ if ((${Lang::language} eq 'cs') || (${Lang::language} eq 'hu') || (${Lang::langu
foreach my $key(keys %Lang::tr) {from_to($tr{$key}, "utf-8", "iso-8859-1");}
}
###
### System graphs
###
updatecpudata();
updateloaddata();
updatememdata();
###
### HDD graphs
###
@@ -509,33 +248,11 @@ foreach (@disks){
print DATEI $disk."-".$status;
close(DATEI);
updatediskdata($disk);
updatehdddata($disk);
}
###
### Firewallhits
###
updatefwhitsdata();
###
### Link Quality
###
updatelq();
###
### Mbmon Data
###
updatembmondata();
###
### Network Graphs
###
@ipacsum = `/usr/sbin/ipacsum --exact -s 5m 2>/dev/null`;
if (@ipacsum) {
updateifdata ("GREEN");
updateifdata ("RED");
if ($settings{'CONFIG_TYPE'} =~ /^(2|4)$/ ) {updateifdata ("ORANGE");}
if ($settings{'CONFIG_TYPE'} =~ /^(3|4)$/ ) {updateifdata ("BLUE");}
}