xaver
2011-09-09 a5fe2742b8e90e7bb2ee4a3a9df3ea64afd6eaff
Fixed #1390 - Added 3ware controller (was my script i use 3ware)
1 files modified
55 ■■■■■ changed files
server/lib/classes/monitor_tools.inc.php 55 ●●●●● patch | view | raw | blame | history
server/lib/classes/monitor_tools.inc.php
@@ -1035,6 +1035,61 @@
                }
            }
        }
        /*
        * 3ware Controller
        */
        system('which tw_cli', $retval);
        if($retval === 0) {
            $data['output'] = shell_exec('tw_cli info c0');
            $state = 'ok';
            foreach ($data['output'] as $item) {
                if (strpos($item, 'RAID') !== false) {
                    if (strpos($item, ' VERIFYING ') !== false) {
                        $this->_setState($state, 'info');
                    }
                    else if (strpos($item, ' MIGRATE-PAUSED ') !== false) {
                        $this->_setState($state, 'info');
                    }
                    else if (strpos($item, ' MIGRATING ') !== false) {
                        $this->_setState($state, 'ok');
                    }
                    else if (strpos($item, ' INITIALIZING ') !== false) {
                        $this->_setState($state, 'info');
                    }
                    else if (strpos($item, ' INIT-PAUSED ') !== false) {
                        $this->_setState($state, 'info');
                    }
                    else if (strpos($item, ' REBUILDING ') !== false) {
                        $this->_setState($state, 'info');
                    }
                    else if (strpos($item, ' REBUILD-PAUSED ') !== false) {
                        $this->_setState($state, 'warning');
                    }
                    else if (strpos($item, ' RECOVERY ') !== false) {
                        $this->_setState($state, 'warning');
                    }
                    else if (strpos($item, ' DEGRADED ') !== false) {
                        $this->_setState($state, 'critical');
                    }
                    else if (strpos($item, ' UNKNOWN ') !== false) {
                        $this->_setState($state, 'critical');
                    }
                    else if (strpos($item, ' OK ') !== false) {
                        $this->_setState($state, 'ok');
                    }
                    else if (strpos($item, ' OPTIMAL ') !== false) {
                        $this->_setState($state, 'ok');
                    }
                    else {
                        $this->_setState($state, 'critical');
                    }
                }
            }
        }
        /*
         * Return the Result