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