| | |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | require_once('../../lib/config.inc.php'); |
| | | require_once('../../lib/app.inc.php'); |
| | | require_once '../../lib/config.inc.php'; |
| | | require_once '../../lib/app.inc.php'; |
| | | |
| | | //* Check permissions for module |
| | | $app->auth->check_module_permissions('monitor'); |
| | | |
| | | $app->uses('tools_monitor'); |
| | | |
| | | /* Get the dataType to show */ |
| | | $dataType = $_GET["type"]; |
| | | |
| | | /* Change the Server if needed */ |
| | | if (isset($_GET['server'])){ |
| | | $server = explode('|', $_GET['server'], 2); |
| | | $_SESSION['monitor']['server_id'] = $server[0]; |
| | | $_SESSION['monitor']['server_name'] = $server[1]; |
| | | } |
| | | |
| | | /* Get some translations */ |
| | | $monTransDate = $app->lng("monitor_settings_datafromdate_txt"); |
| | | $monTransSrv = $app->lng("monitor_settings_server_txt"); |
| | | |
| | | |
| | | $output = ''; |
| | | |
| | | switch($dataType) { |
| | | case 'server_load': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showServerLoad(); |
| | | $title = 'Server Load (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'disk_usage': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showDiskUsage(); |
| | | $title = 'Disk usage (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'mem_usage': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showMemUsage(); |
| | | $title = 'Memory usage (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'cpu_info': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showCpuInfo(); |
| | | $title = 'CPU info (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'services': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showServices(); |
| | | $title = 'Status of services (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'overview': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= showServerLoad(); |
| | | $output .= ' '. showDiskUsage(); |
| | | $output .= ' '.showServices(); |
| | | $title = 'System Monitor (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | default: |
| | | $template = ''; |
| | | break; |
| | | case 'server_load': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showServerLoad(); |
| | | $time = $app->tools_monitor->getDataTime('server_load'); |
| | | $title = $app->lng("Server Load").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'disk_usage': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showDiskUsage(); |
| | | $time = $app->tools_monitor->getDataTime('disk_usage'); |
| | | $title = $app->lng("Disk usage").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'database_size': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showDatabaseSize(); |
| | | $time = $app->tools_monitor->getDataTime('database_size'); |
| | | $title = $app->lng("Database size").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'mem_usage': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showMemUsage(); |
| | | $time = $app->tools_monitor->getDataTime('mem_usage'); |
| | | $title = $app->lng("Memory usage").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'cpu_info': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showCpuInfo(); |
| | | $time = $app->tools_monitor->getDataTime('cpu_info'); |
| | | $title = $app->lng("monitor_title_cpuinfo_txt").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'services': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showServices(); |
| | | $time = $app->tools_monitor->getDataTime('services'); |
| | | $title = $app->lng("Status of services").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'openvz_beancounter': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showOpenVzBeanCounter(); |
| | | $time = $app->tools_monitor->getDataTime('openvz_beancounter'); |
| | | $title = $app->lng("monitor_title_beancounter_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'system_update': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showSystemUpdate(); |
| | | $time = $app->tools_monitor->getDataTime('system_update'); |
| | | $title = $app->lng("monitor_title_updatestate_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'mailq': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showMailq(); |
| | | $time = $app->tools_monitor->getDataTime('mailq'); |
| | | $title = $app->lng("monitor_title_mailq_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'raid_state': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showRaidState(); |
| | | $time = $app->tools_monitor->getDataTime('raid_state'); |
| | | $title = $app->lng("monitor_title_raidstate_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'rkhunter': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showRKHunter(); |
| | | $time = $app->tools_monitor->getDataTime('rkhunter'); |
| | | $title = $app->lng("monitor_title_rkhunterlog_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'fail2ban': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showFail2ban(); |
| | | $time = $app->tools_monitor->getDataTime('log_fail2ban'); |
| | | $title = $app->lng("monitor_title_fail2ban_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | case 'mongodb': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showMongoDB(); |
| | | $time = $app->tools_monitor->getDataTime('log_mongodb'); |
| | | $title = $app->lng("monitor_title_mongodb_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | break; |
| | | case 'iptables': |
| | | $template = 'templates/show_data.htm'; |
| | | $output .= $app->tools_monitor->showIPTables(); |
| | | $time = $app->tools_monitor->getDataTime('iptables_rules'); |
| | | $title = $app->lng("monitor_title_iptables_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | $description = ''; |
| | | $add_padding = true; |
| | | break; |
| | | default: |
| | | $template = ''; |
| | | break; |
| | | } |
| | | |
| | | if($add_padding == true) { |
| | | $output = '<div style="padding:20px;">'.$output.'</div>'; |
| | | } |
| | | |
| | | |
| | | // Loading the template |
| | | $app->uses('tpl'); |
| | | $app->tpl->newTemplate("form.tpl.htm"); |
| | | $app->tpl->setInclude('content_tpl',$template); |
| | | $app->tpl->setInclude('content_tpl', $template); |
| | | |
| | | $app->tpl->setVar("output",$output); |
| | | $app->tpl->setVar("title",$title); |
| | | $app->tpl->setVar("description",$description); |
| | | |
| | | $app->tpl->setVar("output", $output); |
| | | $app->tpl->setVar("list_head_txt", $title); |
| | | $app->tpl->setVar("list_desc_txt", $description); |
| | | $app->tpl->setVar("time", $time); |
| | | $app->tpl->setVar("monTransDate", $monTransDate); |
| | | |
| | | $app->tpl_defaults(); |
| | | $app->tpl->pparse(); |
| | | |
| | | |
| | | |
| | | |
| | | function showServerLoad(){ |
| | | global $app; |
| | | |
| | | /* fetch the Data from the DB */ |
| | | $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'server_load' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); |
| | | |
| | | if(isset($record['data'])) { |
| | | $data = unserialize($record['data']); |
| | | |
| | | /* |
| | | Format the data |
| | | */ |
| | | $html .= |
| | | '<table id="system_load"> |
| | | <tr> |
| | | <td>' . $app->lng("Server online since").':</td> |
| | | <td>' . $data['up_days'] . ' days, ' . $data['up_hours'] . ':' . $data['up_minutes'] . ' hours</center></td> |
| | | </tr> |
| | | <tr> |
| | | <td>' . $app->lng("Users online").':</td> |
| | | <td>' . $data['user_online'] . '</td> |
| | | </tr>' . |
| | | '<tr> |
| | | <td>' . $app->lng("System load 1 minute") . ':</td> |
| | | <td>' . $data['load_1'] . '</td> |
| | | </tr> |
| | | <tr> |
| | | <td>' . $app->lng("System load 5 minutes") . ':</td> |
| | | <td>' . $data['load_5'] . '</td> |
| | | </tr> |
| | | <tr> |
| | | <td>'.$app->lng("System load 15 minutes").':</td> |
| | | <td>' . $data['load_15'] . '</td> |
| | | </tr> |
| | | </table>'; |
| | | } else { |
| | | $html = '<p>'.$app->lng("no_data_serverload_txt").'</p>'; |
| | | } |
| | | |
| | | return $html; |
| | | } |
| | | |
| | | function showDiskUsage () { |
| | | global $app; |
| | | |
| | | /* fetch the Data from the DB */ |
| | | $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'disk_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); |
| | | |
| | | if(isset($record['data'])) { |
| | | $data = unserialize($record['data']); |
| | | |
| | | /* |
| | | Format the data |
| | | */ |
| | | $html .= '<table id="system_disk">'; |
| | | foreach($data as $line) { |
| | | $html .= '<tr>'; |
| | | foreach ($line as $item) { |
| | | $html .= '<td>' . $item . '</td>'; |
| | | } |
| | | $html .= '</tr>'; |
| | | } |
| | | $html .= '</table>'; |
| | | } else { |
| | | $html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>'; |
| | | } |
| | | |
| | | |
| | | return $html; |
| | | } |
| | | |
| | | |
| | | function showMemUsage () |
| | | { |
| | | global $app; |
| | | |
| | | /* fetch the Data from the DB */ |
| | | $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mem_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); |
| | | |
| | | if(isset($record['data'])) { |
| | | $data = unserialize($record['data']); |
| | | |
| | | /* |
| | | Format the data |
| | | */ |
| | | $html .= '<table id="system_memusage">'; |
| | | |
| | | foreach($data as $key => $value){ |
| | | if ($key != '') { |
| | | $html .= '<tr> |
| | | <td>' . $key . ':</td> |
| | | <td>' . $value . '</td> |
| | | </tr>'; |
| | | } |
| | | } |
| | | $html .= '</table>'; |
| | | } else { |
| | | $html = '<p>'.$app->lng("no_data_memusage_txt").'</p>'; |
| | | } |
| | | |
| | | return $html; |
| | | } |
| | | |
| | | function showCpuInfo () |
| | | { |
| | | global $app; |
| | | |
| | | /* fetch the Data from the DB */ |
| | | $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'cpu_info' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); |
| | | |
| | | if(isset($record['data'])) { |
| | | $data = unserialize($record['data']); |
| | | |
| | | /* |
| | | Format the data |
| | | */ |
| | | $html .= '<table id="system_cpu">'; |
| | | foreach($data as $key => $value){ |
| | | if ($key != '') { |
| | | $html .= '<tr> |
| | | <td>' . $key . ':</td> |
| | | <td>' . $value . '</td> |
| | | </tr>'; |
| | | } |
| | | } |
| | | $html .= '</table>'; |
| | | } else { |
| | | $html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>'; |
| | | } |
| | | |
| | | return $html; |
| | | } |
| | | |
| | | function showServices () |
| | | { |
| | | global $app; |
| | | |
| | | /* fetch the Data from the DB */ |
| | | $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'services' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); |
| | | |
| | | if(isset($record['data'])) { |
| | | $data = unserialize($record['data']); |
| | | |
| | | /* |
| | | Format the data |
| | | */ |
| | | $html .= '<table id="system_services">'; |
| | | |
| | | if($data['webserver'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>Web-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | |
| | | if($data['ftpserver'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>FTP-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | if($data['smtpserver'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>SMTP-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | if($data['pop3server'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>POP3-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | if($data['bindserver'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>DNS-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | if($data['mysqlserver'] == true) { |
| | | $status = '<span class="online">Online</span>'; |
| | | } else { |
| | | $status = '<span class="offline">Offline</span>'; |
| | | } |
| | | $html .= '<tr> |
| | | <td>mySQL-Server:</td> |
| | | <td>'.$status.'</td> |
| | | </tr>'; |
| | | |
| | | |
| | | $html .= '</table></div>'; |
| | | } else { |
| | | $html = '<p>'.$app->lng("no_data_services_txt").'</p>'; |
| | | } |
| | | |
| | | |
| | | return $html; |
| | | } |
| | | ?> |
| | | ?> |