Commit 794082b4 authored by tbrehm's avatar tbrehm
Browse files

Fixed a Bug in the monitor is the LSI software raid software is installed but...

Fixed a Bug in the monitor is the LSI software raid software is installed but no LSI raid is configured.
parent 59a4682f
......@@ -993,32 +993,34 @@ class monitor_tools {
* Then calc the state.
*/
$state = 'ok';
foreach ($data['output'] as $item) {
/*
* The output contains information for every RAID and every HDD.
* We only need the state of the RAID
*/
if (strpos($item, 'raidlevel:') !== false) {
if(is_array($data['output'])) {
foreach ($data['output'] as $item) {
/*
* We found a raid, process the state of it
*/
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');
* The output contains information for every RAID and every HDD.
* We only need the state of the RAID
*/
if (strpos($item, 'raidlevel:') !== false) {
/*
* We found a raid, process the state of it
*/
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');
}
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment