From: Maniacikarus Date: Sun, 28 Sep 2008 10:25:54 +0000 (+0200) Subject: Last step in migration 2.3, now testing and debugging X-Git-Tag: v2.3-beta4~14^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c163c04419c126682a840efc63aa37bac0c06e4;p=people%2Fstevee%2Fipfire-2.x.git Last step in migration 2.3, now testing and debugging --- diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index a233228a71..15965e3630 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -30,7 +30,6 @@ require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; my $ERROR; -$ENV{PATH}="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"; # Read the global settings files to get the current theme and after this load # colors for this theme @@ -52,16 +51,10 @@ if ( $mainsettings{'RRDLOG'} eq "" ){ # false collected values may be disable. The user has the ability to enter # custom graph names in order to change temp0 to cpu or motherboard -my $key; -my $value; -my @args = (); my $count = 0; my @sensorsgraphs = (); -my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ | wc -l`; -my @processesgraph = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/processes-*/`; my @sensorsdir = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/`; -foreach (@sensorsdir) -{ +foreach (@sensorsdir){ chomp($_);chop($_); foreach (`ls $_/*`){ chomp($_); @@ -74,18 +67,6 @@ foreach (@sensorsdir) } &General::readhash("${General::swroot}/sensors/settings", \%sensorsettings); -use Encode 'from_to'; - -my %tr=(); -if ((${Lang::language} eq 'el') || - (${Lang::language} eq 'fa') || - (${Lang::language} eq 'ru') || - (${Lang::language} eq 'th') || - (${Lang::language} eq 'vi') || - (${Lang::language} eq 'zh') || - (${Lang::language} eq 'zt')) { - eval `/bin/cat "${General::swroot}/langs/en.pl"`; -} else {%tr=%Lang::tr;} # Generate a nice box for selection of time range in graphs # this will generate a nice iframe for the cgi every klick for @@ -119,6 +100,7 @@ sub makegraphbox { # collectd we are now able to handle any kind of cpucount sub updatecpugraph { + my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ | wc -l`; my $period = $_[0]; my @command = ( "-", @@ -404,6 +386,7 @@ sub updateswapgraph { # Generate the Process Cpu Graph for the current period of time for values given by collecd sub updateprocessescpugraph { + my @processesgraph = getprocesses(); my $period = $_[0]; my $count="0"; @@ -453,6 +436,7 @@ sub updateprocessescpugraph { # Generate the Process Memory Graph for the current period of time for values given by collecd sub updateprocessesmemorygraph { + my @processesgraph = getprocesses(); my $period = $_[0]; my $count="0"; @@ -1008,6 +992,7 @@ sub updateqosgraph { # Generate the CPU Frequency Graph for the current period of time for values given by collectd an lm_sensors sub updatecpufreqgraph { + my $cpucount = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/cpu-*/ | wc -l`; my $period = $_[0]; my @command = ( "-", @@ -1060,3 +1045,8 @@ sub random_hex_color { push @color, @hex[rand(@hex)] for 1 .. $size; return join('', '#', @color); } + +sub getprocesses { + my @processesgraph = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/processes-*/`; + return @processesgraph; +} diff --git a/config/cron/crontab b/config/cron/crontab index 0fa7ebcc2b..004369b1a9 100644 --- a/config/cron/crontab +++ b/config/cron/crontab @@ -22,6 +22,7 @@ HOME=/ # Make some nice graphs */5 * * * * /usr/local/bin/makegraphs >/dev/null +01 * * * * /etc/init.d/collectd backup >/dev/null # Force update the dynamic dns registration once a week # Force update even if IP has not changed once a month if 'minimize update' selected in GUI diff --git a/config/rootfiles/updater/update.sh b/config/rootfiles/updater/update.sh index 1b2c1aa20a..aa3780884a 100755 --- a/config/rootfiles/updater/update.sh +++ b/config/rootfiles/updater/update.sh @@ -171,6 +171,7 @@ echo \\n running on \\s \\r \\m >> /etc/issue # Update crontab # grep -v "ipacsum" /var/spool/cron/root.orig > /tmp/root.orig.tmp +echo "Backup collectd files\n01 * * * * /etc/init.d/collectd backup >/dev/null" >> /tmp/root.orig.tmp mv /tmp/root.orig.tmp /var/spool/cron/root.orig chmod 600 /var/spool/cron/root.orig chown root:cron /var/spool/cron/root.orig diff --git a/src/initscripts/init.d/collectd b/src/initscripts/init.d/collectd index ed34389d3e..96cb816d7a 100644 --- a/src/initscripts/init.d/collectd +++ b/src/initscripts/init.d/collectd @@ -5,25 +5,35 @@ . /etc/sysconfig/rc . $rc_functions +eval $(/usr/local/bin/readhash /var/ipfire/main/settings) + case "$1" in start) if [ ! -e /etc/sysconfig/lm_sensors ]; then - boot_mesg "Searching for Sensors..." - "yes" | /usr/sbin/sensors-detect > /dev/null - evaluate_retval - if [ ! -e /etc/sysconfig/lm_sensors ]; then - echo "#No Sensors detected " > /etc/sysconfig/lm_sensors - fi + boot_mesg "Searching for Sensors..." + "yes" | /usr/sbin/sensors-detect > /dev/null + evaluate_retval + + if [ ! -e /etc/sysconfig/lm_sensors ]; then + echo "#No Sensors detected " > /etc/sysconfig/lm_sensors + sed -i -e "s|LoadPlugin sensors|#LoadPlugin sensors|g" /etc/collectd.conf + fi fi + if [ ! -e $RRDLOG.bak/ ]; then + mkdir $RRDLOG.bak/ + fi + + /etc/init.d/collectd restore + boot_mesg -n "Loading Sensor Modules..." for modul in `cat /etc/sysconfig/lm_sensors | grep '^MODULE_' | cut -d"=" -s -f2`; do - modprobe $modul > /dev/null 2>&1; - if [ ${?} = 0 ]; then - boot_mesg -n "$SUCCESS$modul$NORMAL "; - else - boot_mesg -n "$FAILURE$modul$NORMAL "; - fi + modprobe $modul > /dev/null 2>&1; + if [ ${?} = 0 ]; then + boot_mesg -n "$SUCCESS$modul$NORMAL "; + else + boot_mesg -n "$FAILURE$modul$NORMAL "; + fi done boot_mesg; echo_ok; @@ -31,50 +41,27 @@ case "$1" in boot_mesg "Starting Collection daemon..." /usr/sbin/collectd -C /etc/collectd.conf evaluate_retval -# -# These lines are for furhter implementation of the collectd, atm the temps are -# collected by the makegraphs script because of the standby functions -# -# 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 -# -# Starting the mbmon in deamon mode to enable sensors reading for collectd -# later mbmon will be replaced by lmsensors, if mbmon is not running on your -# system, we advise to comment out these lines in order to prevent fail -# -# boot_mesg "Bringing up mbmon daemon..." -# /usr/bin/mbmon -P 411 -r -# evaluate_retval ;; - stop) -# if mbmon is not running on your system, we advise to comment out these lines -# in order to prevent fail -# boot_mesg "Stopping mbmon daemon..." -# killproc /usr/bin/mbmon -# evaluate_retval -# boot_mesg "Stopping hddtemp daemon..." -# killproc /usr/sbin/hddtemp -# evaluate_retval + /etc/init.d/collectd backup boot_mesg "Stopping Collection daemon..." killproc /usr/sbin/collectd evaluate_retval ;; - restart) - -# -# We need to do this that way because mbmon doesn`t clear the port when killed -# so the next startup it fails with port allready in use -> don´t restart mbmon -# - boot_mesg "Stopping Collection daemon..." - killproc /usr/sbin/collectd - evaluate_retval + ${0} stop sleep 1 - boot_mesg "Starting Collection daemon..." - /usr/sbin/collectd -C /etc/collectd.conf + ${0} start + ;; + backup) + boot_mesg "Save rrd files from ramd..." + cp -pR $RRDLOG/* $RRDLOG.bak/ evaluate_retval - ;; - + ;; + restore) + boot_mesg "Copying rrd files to ramd..." + cp -pR $RRDLOG.bak/* $RRDLOG/ + ;; status) statusproc /usr/sbin/collectd ;; diff --git a/src/scripts/qosd b/src/scripts/qosd index dee8ee2014..21498824f4 100644 --- a/src/scripts/qosd +++ b/src/scripts/qosd @@ -48,9 +48,11 @@ use strict; # my $device = "$ARGV[0]"; -my %mainsettings = (); +our %mainsettings = (); +require '/var/ipfire/general-functions.pl'; &General::readhash("${General::swroot}/main/settings", \%mainsettings); +our $rrd_datadir = $mainsettings{'RRDLOG'}."/"; our $event_datadir = $mainsettings{'RRDLOG'}; our $STEP = 10; our $tc_command = "/sbin/tc"; @@ -108,8 +110,6 @@ until ($time_to_die) { # print " Error updating RRDs: \"$res\"\n"; #} - process_events(); - # my $timestamp = time; # print "$timestamp\n";