From d7f1c84e3e72ee77893fe08efac070b36df0ff76 Mon Sep 17 00:00:00 2001 From: Florian Schaal <florian@schaal-24.de> Date: Sun, 29 Nov 2015 11:59:00 +0100 Subject: [PATCH] FS#3885 - LSI MegaRaid monitoring (code) (cwispy) --- .../classes/cron.d/100-monitor_raid.inc.php | 21 +++++++++++++++++++ 1 file changed, 21 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 3480908e30..c7d8c4e90d 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,27 @@ class cronjob_monitor_raid extends cronjob { } } + /* + * LSI MegaRaid + */ + system('which megacli', $retval); + system('which megacli64', $retval64); + if($retval === 0 || $retval64 === 0) { + $binary=@($retval === 0)?'megacli':'megacli64'; + $state = 'ok'; + $data['output'] = shell_exec($binary.' -LDInfo -Lall -aAll'); + if (strpos($data['output'], 'Optimal') !== false) { + $this->_tools->_setState($state, 'ok'); + } else if (strpos($data['output'], 'Degraded') !== false) { + $this->_tools->_setState($state, 'critical'); + } else if (strpos($data['output'], 'Offline') !== false) { + $this->_tools->_setState($state, 'critical'); + } else { + $this->_tools->_setState($state, 'critical'); + } + } + + $res = array(); $res['server_id'] = $server_id; $res['type'] = $type; -- GitLab