mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-23 09:22:59 +02:00
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:
@@ -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"},
|
||||
|
||||
214
config/collectd/collectd.conf
Normal file
214
config/collectd/collectd.conf
Normal 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>
|
||||
@@ -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',
|
||||
|
||||
@@ -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 {
|
||||
|
||||
0
config/rootfiles/packages/collectd
Normal file
0
config/rootfiles/packages/collectd
Normal file
1
config/rootfiles/packages/lcd4linux
Normal file
1
config/rootfiles/packages/lcd4linux
Normal file
@@ -0,0 +1 @@
|
||||
usr/bin/lcd4linux
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 />";
|
||||
|
||||
@@ -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
91
lfs/collectd
Normal 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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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
84
lfs/lcd4linux
Normal 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)
|
||||
2
make.sh
2
make.sh
@@ -524,6 +524,8 @@ buildipfire() {
|
||||
ipfiremake lsof
|
||||
ipfiremake centerim
|
||||
ipfiremake br2684ctl
|
||||
ipfiremake collectd
|
||||
ipfiremake lcd4linux
|
||||
ipfiremake neon
|
||||
ipfiremake subversion
|
||||
}
|
||||
|
||||
48
src/initscripts/init.d/collectd
Normal file
48
src/initscripts/init.d/collectd
Normal 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
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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
|
||||
;;
|
||||
|
||||
|
||||
@@ -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");}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user