Skip to content
Snippets Groups Projects
Commit 248d0eeb authored by Florian Schaal's avatar Florian Schaal
Browse files

FS#3806 - HP Proliant / SmartArray RAID-Status incl. Code (PatrickR)

parent add7cc46
No related branches found
No related tags found
No related merge requests found
......@@ -229,6 +229,51 @@ class cronjob_monitor_raid extends cronjob {
}
}
/*
* HP Proliant
*/
system('which hpacucli', $retval);
if($retval === 0) {
$state = 'ok';
$data['output'] = shell_exec('/usr/sbin/hpacucli ctrl all show config');
$tmp = explode("\n", $data['output']);
if(is_array($tmp)) {
foreach ($tmp as $item) {
if (strpos($item, 'logicaldrive') !== false) {
if (strpos($item, 'OK') !== false) {
$this->_tools->_setState($state = 'ok');
} elseif (strpos($item, 'Recovery Mode') !== false) {
$this->_tools->_setState($state = 'critical');
break;
} elseif (strpos($item, 'Failed') !== false) {
$this->_tools->_setState($state = 'error');
break;
} elseif (strpos($item, 'Recovering') !== false) {
$this->_tools->_setState($state = 'info');
break;
} else {
$this->_tools->_setState($state = 'critical');
}
}
if (strpos($item, 'physicaldrive') !== false) {
if (strpos($item, 'physicaldrive') !== false) {
if (strpos($item, 'OK') !== false) {
$this->_tools->_setState($state = 'ok');
} elseif (strpos($item, 'Failed') !== false) {
$this->_tools->_setState($state = 'critical');
break;
} elseif (strpos($item, 'Rebuilding') !== false) {
$this->_tools->_setState($state = 'info');
break;
} else {
$this->_tools->_setState($state = 'critical');
break;
}
}
}
}
}
}
$res = array();
$res['server_id'] = $server_id;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment