tbrehm
2013-08-02 2332b2279d8a8599b4f041370315edc9544b1560
server/lib/classes/monitor_tools.inc.php
@@ -755,6 +755,13 @@
            $data['mysqlserver'] = 0;
            $state = 'error'; // because service is down
         }
         if ($this->_checkTcp('localhost', 27017)) {
            $data['mongodbserver'] = 1;
         } else {
            $data['mongodbserver'] = 0;
            $state = 'error'; // because service is down
         }
      }
      /*
@@ -1299,6 +1306,51 @@
      return $res;
   }
   public function monitorMongoDB() {
      global $conf;
      /* the id of the server as int */
      $server_id = intval($conf['server_id']);
      /** The type of the data */
      $type = 'log_mongodb';
      /* This monitoring is only available if MongoDB is installed */
      system('which mongod', $retval); // Debian, Ubuntu, Fedora
      if ($retval !== 0)
         system('which mongod', $retval); // CentOS
      if ($retval === 0) {
         /*  Get the data of the log */
         $data = $this->_getLogData($type);
         /*
          * At this moment, there is no state (maybe later)
          */
         $state = 'no_state';
      } else {
         /*
          * MongoDB is not installed, so there is no data and no state
          *
          * no_state, NOT unknown, because "unknown" is shown as state
          * inside the GUI. no_state is hidden.
          *
          * We have to write NO DATA inside the DB, because the GUI
          * could not know, if there is any dat, or not...
          */
         $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 monitorIPTables() {
            global $conf;
@@ -1745,6 +1797,9 @@
               $logfile = '/var/log/fail2ban.log';
            }
            break;
         case 'log_mongodb':
               $logfile = '/var/log/mongodb/mongodb.log';
            break;
         case 'log_ispconfig':
            if ($dist == 'debian') {
               $logfile = $conf['ispconfig_log_dir'] . '/ispconfig.log';
@@ -1926,4 +1981,4 @@
}
?>
?>