tbrehm
2011-09-09 40c436b6e2724e98efb51582d1ad8fad6dcf4a1c
server/lib/classes/monitor_tools.inc.php
@@ -407,6 +407,15 @@
             * calculate the state
             */
            $usePercent = floatval($data[$i]['percent']);
            //* get the free memsize
            if(substr($data[$i]['available'],-1) == 'G') {
               $freesize = floatval($data[$i]['available'])*1024;
            } elseif(substr($data[$i]['available'],-1) == 'T') {
               $freesize = floatval($data[$i]['available'])*1024*1024;
            } else {
               $freesize = floatval($data[$i]['available']);
            }
            //* We don't want to check some filesystem which have no sensible filling levels
            switch ($data[$i]['type']) {
@@ -418,13 +427,13 @@
               case 'udev':
                  break;
               default:
                  if ($usePercent > 75)
                  if ($usePercent > 75 && $freesize < 2000)
                     $state = $this->_setState($state, 'info');
                  if ($usePercent > 80)
                  if ($usePercent > 80 && $freesize < 1000)
                     $state = $this->_setState($state, 'warning');
                  if ($usePercent > 90)
                  if ($usePercent > 90 && $freesize < 500)
                     $state = $this->_setState($state, 'critical');
                  if ($usePercent > 95)
                  if ($usePercent > 95 && $freesize < 100)
                     $state = $this->_setState($state, 'error');
                  break;
            }
@@ -1127,6 +1136,40 @@
      return $res;
   }
   public function monitorIPTables() {
        global $conf;
        /* the id of the server as int */
        $server_id = intval($conf['server_id']);
        /** The type of the data */
        $type = 'iptables_rules';
        /* This monitoring is only available if fail2ban is installed */
        system('which iptables', $retval); // Debian, Ubuntu, Fedora
        if ($retval === 0) {
            /*  Get the data of the log */
            $data['output'] = shell_exec('iptables -S');
            /*
             * At this moment, there is no state (maybe later)
             */
            $state = 'no_state';
        } else {
            $state = 'no_state';
            $data = '';
        }
        /*
         * Return the Result
         */
        $res['server_id'] = $server_id;
        $res['type'] = $type;
        $res['data'] = $data;
        $res['state'] = $state;
        return $res;
    }
   public function monitorSysLog() {
      global $app;
      global $conf;