From fb3a98c0f06fb14a188e5a020936768fa04cb205 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 22 Oct 2010 06:24:31 -0400 Subject: [PATCH] Merged serveral bugfixes and new language files from stable branch (revisions 2055 - 2093) --- server/mods-available/monitor_core_module.inc.php | 80 ++++++++++++++++++++------------------- 1 files changed, 41 insertions(+), 39 deletions(-) diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index c687998..4555387 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -53,7 +53,7 @@ /* * Do the monitor every n minutes and write the result to the db */ - $min = date('i'); + $min = @date('i'); if (($min % $this->interval) == 0) { $this->doMonitor(); } @@ -1082,49 +1082,51 @@ /* * Check, if we have mpt-status installed (LSIsoftware-raid) */ - system('which mpt-status', $retval); - if($retval === 0) { - /* - * Fetch the output - */ - $data['output'] = shell_exec('mpt-status --autoload -n'); - - /* - * Then calc the state. - */ - $state = 'ok'; - foreach ($data['output'] as $item) { + if(file_exists('/proc/mpt/summary')) { + system('which mpt-status', $retval); + if($retval === 0) { /* - * The output contains information for every RAID and every HDD. - * We only need the state of the RAID + * Fetch the output */ - if (strpos($item, 'raidlevel:') !== false) { + $data['output'] = shell_exec('mpt-status --autoload -n'); + + /* + * Then calc the state. + */ + $state = 'ok'; + foreach ($data['output'] as $item) { /* - * We found a raid, process the state of it + * The output contains information for every RAID and every HDD. + * We only need the state of the RAID */ - if (strpos($item, ' ONLINE ') !== false) { - $this->_setState($state, 'ok'); - } - elseif (strpos($item, ' OPTIMAL ') !== false) { - $this->_setState($state, 'ok'); - } - elseif (strpos($item, ' INITIAL ') !== false) { - $this->_setState($state, 'info'); - } - elseif (strpos($item, ' INACTIVE ') !== false) { - $this->_setState($state, 'critical'); - } - elseif (strpos($item, ' RESYNC ') !== false) { - $this->_setState($state, 'info'); - } - elseif (strpos($item, ' DEGRADED ') !== false) { - $this->_setState($state, 'critical'); - } - else { - /* we don't know the state. so we set the state to critical, that the - * admin is warned, that something is wrong + if (strpos($item, 'raidlevel:') !== false) { + /* + * We found a raid, process the state of it */ - $this->_setState($state, 'critical'); + if (strpos($item, ' ONLINE ') !== false) { + $this->_setState($state, 'ok'); + } + elseif (strpos($item, ' OPTIMAL ') !== false) { + $this->_setState($state, 'ok'); + } + elseif (strpos($item, ' INITIAL ') !== false) { + $this->_setState($state, 'info'); + } + elseif (strpos($item, ' INACTIVE ') !== false) { + $this->_setState($state, 'critical'); + } + elseif (strpos($item, ' RESYNC ') !== false) { + $this->_setState($state, 'info'); + } + elseif (strpos($item, ' DEGRADED ') !== false) { + $this->_setState($state, 'critical'); + } + else { + /* we don't know the state. so we set the state to critical, that the + * admin is warned, that something is wrong + */ + $this->_setState($state, 'critical'); + } } } } -- Gitblit v1.9.1