From 210fa38ce7e49058356f23110c08d6c03b036a81 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sun, 8 Apr 2018 06:26:12 +0200 Subject: [PATCH] Update 100-monitor_raid.inc.php --- .../classes/cron.d/100-monitor_raid.inc.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/server/lib/classes/cron.d/100-monitor_raid.inc.php b/server/lib/classes/cron.d/100-monitor_raid.inc.php index 326fb3a431..65a5fc92c5 100644 --- a/server/lib/classes/cron.d/100-monitor_raid.inc.php +++ b/server/lib/classes/cron.d/100-monitor_raid.inc.php @@ -275,6 +275,52 @@ class cronjob_monitor_raid extends cronjob { } } + /* + * HP Proliant new driver -> http://downloads.linux.hpe.com/SDR/project/mcp/ + */ + system('which ssacli', $retval); + if($retval === 0) { + $state = 'ok'; + $data['output'] = shell_exec('/usr/sbin/ssacli 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; + } + } + } + } + } + } + /* * LSI MegaRaid */ -- GitLab