From: maniacikarus Date: Wed, 23 Jan 2008 18:00:28 +0000 (+0000) Subject: Corrected guardian X-Git-Tag: v2.3-beta1~226 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=a332b303e428b5fa8f15e234b84d687c33b9f14a 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 --- diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index c5caa6d043..8523f61170 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -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]; - - 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; + my $interface = $_[0]; + my $period = $_[1]; + + 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"}, diff --git a/config/collectd/collectd.conf b/config/collectd/collectd.conf new file mode 100644 index 0000000000..e01487f504 --- /dev/null +++ b/config/collectd/collectd.conf @@ -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 + +# +# URL "http://localhost/status?auto" +# User "www-user" +# Password "secret" +# CACert "/etc/ssl/ca.crt" +# + + +# +# Device "/dev/hda" +# Device "192.168.0.2:/mnt/nfs" +# MountPoint "/home" +# FSType "ext3" +# IgnoreSelected false +# + +# +# Interface "eth0" +# IgnoreSource "192.168.0.1" +# + +# +# SocketFile "/usr/var/run/collectd-email" +# SocketGroup "collectd" +# SocketPerms "0770" +# MaxConns 5 +# + +# +# Exec "user:group" "/path/to/exec" +# + +# +# Host "127.0.0.1" +# Port "7634" +# + + + Interface "ppp0" + Interface "lo" + Interface "ipsec1" + Interface "ipsec2" + Interface "ipsec3" + IgnoreSelected true + + + + 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 + + +# +# Irq 7 +# Irq 8 +# Irq 9 +# IgnoreSelected true +# + +# +# LogLevel info +# File STDOUT +# + +# +# Host "127.0.0.1" +# Port "411" +# + +# +# Host "127.0.0.1" +# Port "11211" +# + +# +# Host "database.serv.er" +# User "db_user" +# Password "secret" +# Database "db_name" +# + +# +# Interface "All" +# VerboseInterface "All" +# QDisc "eth0" "pfifo_fast-1:0" +# Class "ppp0" "htb-1:10" +# Filter "ppp0" "u32-1:0" +# + +# +# 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 +# + +# +# URL "http://localhost/status?auto" +# User "www-user" +# Password "secret" +# CACert "/etc/ssl/ca.crt" +# + +# +# Host "localhost" +# Port 123 +# + +# +# UPS "upsname@hostname:port" +# + +# +# IncludeDir "/my/include/path" +# BaseName "Collectd::Plugin" +# LoadPlugin foo +# + + + Host "gateway" + + + + Process "collectd" + + + + DataDir "/var/log/rrd/collectd" + CacheTimeout 300 + CacheFlush 900 + + +# +# Sensor "it8712-isa-0290/temperature-temp1" +# Sensor "it8712-isa-0290/fanspeed-fan3" +# Sensor "it8712-isa-0290/voltage-in8" +# IgnoreSelected false +# + + + LogLevel info + + +# +# ListeningPorts false +# LocalPort "6882" +# RemotePort "80" +# + +# +# SocketFile "/usr/var/run/collectd-unixsock" +# SocketGroup "collectd" +# SocketPerms "0660" +# diff --git a/config/menu/20-status.menu b/config/menu/20-status.menu index d81cefdadb..a66b4ec787 100644 --- a/config/menu/20-status.menu +++ b/config/menu/20-status.menu @@ -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', diff --git a/config/outgoingfw/outgoingfw.pl b/config/outgoingfw/outgoingfw.pl index 1e7594a53d..482a963dda 100644 --- a/config/outgoingfw/outgoingfw.pl +++ b/config/outgoingfw/outgoingfw.pl @@ -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 { diff --git a/config/rootfiles/packages/collectd b/config/rootfiles/packages/collectd new file mode 100644 index 0000000000..e69de29bb2 diff --git a/config/rootfiles/packages/lcd4linux b/config/rootfiles/packages/lcd4linux new file mode 100644 index 0000000000..fc7fe35e5d --- /dev/null +++ b/config/rootfiles/packages/lcd4linux @@ -0,0 +1 @@ +usr/bin/lcd4linux diff --git a/doc/language_issues.de b/doc/language_issues.de index 36021aa2f2..ba7282dbeb 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -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 diff --git a/doc/language_issues.en b/doc/language_issues.en index 613786130c..3011a36bfd 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -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 diff --git a/doc/packages-list.txt b/doc/packages-list.txt index eca0b6e1e8..3c115ba429 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -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 diff --git a/html/cgi-bin/graphs.cgi b/html/cgi-bin/graphs.cgi index 71e0b99c47..47b043b266 100644 --- a/html/cgi-bin/graphs.cgi +++ b/html/cgi-bin/graphs.cgi @@ -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 "
"; print "$Lang::tr{'the statistics were last updated at'}: $ftime


\n"; + print "
"; print "
"; print "
"; print "
"; diff --git a/html/cgi-bin/network.cgi b/html/cgi-bin/network.cgi index 1a77bee992..53e2cfc9a3 100644 --- a/html/cgi-bin/network.cgi +++ b/html/cgi-bin/network.cgi @@ -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"); } diff --git a/lfs/collectd b/lfs/collectd new file mode 100644 index 0000000000..b6190385c6 --- /dev/null +++ b/lfs/collectd @@ -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 . # +# # +############################################################################### + +############################################################################### +# 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) diff --git a/lfs/guardian b/lfs/guardian index 60745f4b73..c464ba7485 100644 --- a/lfs/guardian +++ b/lfs/guardian @@ -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) diff --git a/lfs/iptables b/lfs/iptables index c30615d883..bc53e3c44b 100644 --- a/lfs/iptables +++ b/lfs/iptables @@ -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 diff --git a/lfs/lcd4linux b/lfs/lcd4linux new file mode 100644 index 0000000000..dfabfb490f --- /dev/null +++ b/lfs/lcd4linux @@ -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 . # +# # +############################################################################### + +############################################################################### +# 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) diff --git a/make.sh b/make.sh index 2c308a27b3..c4fb74b476 100755 --- a/make.sh +++ b/make.sh @@ -524,6 +524,8 @@ buildipfire() { ipfiremake lsof ipfiremake centerim ipfiremake br2684ctl + ipfiremake collectd + ipfiremake lcd4linux ipfiremake neon ipfiremake subversion } diff --git a/src/initscripts/init.d/collectd b/src/initscripts/init.d/collectd new file mode 100644 index 0000000000..f3fa208b24 --- /dev/null +++ b/src/initscripts/init.d/collectd @@ -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 diff --git a/src/initscripts/init.d/networking/red b/src/initscripts/init.d/networking/red index 7be289b00d..f56cb21843 100644 --- a/src/initscripts/init.d/networking/red +++ b/src/initscripts/init.d/networking/red @@ -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 "" diff --git a/src/initscripts/init.d/squid b/src/initscripts/init.d/squid index 3c7941ea64..e1a49d28e2 100644 --- a/src/initscripts/init.d/squid +++ b/src/initscripts/init.d/squid @@ -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 ;; diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs index 53daccc888..4e628b87a8 100644 --- a/src/scripts/makegraphs +++ b/src/scripts/makegraphs @@ -92,260 +92,6 @@ while( $_ = ) 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() { - 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() { - 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() { - 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 () { - 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 () { - if (/scan.*$/) {$alertaktuell++;} - } - close (FILE); - } - if (!(open (FILE,'/tmp/messages.fwhits'))) {$skip=1;} - $portaktuell = 0; - if (!$skip) { - while () { - 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");} -}