Till Brehm
2016-04-12 c92a4ee47ce5a7bb6b0e32a321ce09fece3e11dc
server/lib/classes/cron.d/100-monitor_raid.inc.php
@@ -275,6 +275,46 @@
         }
      }
      /*
      * 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');
         }
      }
      /*
      * Adaptec-RAID
      */
      system('which arcconf', $retval);
      if($retval === 0) {
         $state = 'ok';
         $data['output'] = shell_exec('arcconf GETCONFIG 1 LD');
         if(is_array($data['output'])) {
            foreach ($data['output'] as $item) {
               if (strpos($item, 'Logical device name                      : RAID') !== false) {
                  if (strpos($item, 'Optimal') !== false) {
                     $this->_tools->_setState($state, 'ok');
                  } else {
                     $this->_tools->_setState($state, 'critical');
                  }
               }
            }
         }
      }
      $res = array();
      $res['server_id'] = $server_id;
      $res['type'] = $type;