From 8edabf647814a012307bbf68628e4656ecf89eff Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Wed, 30 Apr 2014 14:12:28 -0400 Subject: [PATCH] Merge remote-tracking branch 'ispc/master' --- interface/lib/classes/tools_monitor.inc.php | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php index 52888e8..db8c91e 100644 --- a/interface/lib/classes/tools_monitor.inc.php +++ b/interface/lib/classes/tools_monitor.inc.php @@ -118,6 +118,47 @@ return $html; } + function showDatabaseSize () { + global $app; + /* fetch the Data from the DB */ + $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'database_size' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); + if(isset($record['data'])) { + $data = unserialize($record['data']); + //* format the data + $html = + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> + <table><thead><tr> + <td>'.$app->lng("monitor_database_name_txt").'</td> + <td>'.$app->lng("monitor_database_size_txt").'</td> + <td>'.$app->lng("monitor_database_client_txt").'</td> + <td>'.$app->lng("monitor_database_domain_txt").'</td> + </tr>'; + foreach($data as $line) { + $html .= '<tr>'; + if ($line['size'] > 0) $line['size'] = $app->functions->formatBytes($line['size']); + + //* get the client + $line['client']=$app->db->queryOneRecord("SELECT client.username FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name='".$line['database_name']."'")['username']; + + //* get the domain + $line['domain']=$app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name='".$line['database_name']."')")['domain']; + + //* remove the sys_groupid from output + unset($line['sys_groupid']); + + foreach ($line as $item) { + $html .= '<td>' . $item . '</td>'; + } + $html .= '</tr></tmpl loop>'; + } + $html .= '</tbody></table></div></div>'; + } else { + $html = '<p>'.$app->lng("no_data_database_size_txt").'</p>'; + } + return $html; + } + function showMemUsage () { global $app; @@ -455,6 +496,40 @@ return $html; } + function showMongoDB() { + global $app; + + /* fetch the Data from the DB */ + $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); + + if(isset($record['data'])) { + $html = + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'">'; + + /* + * First, we have to detect, if there is any monitoring-data. + * If not (because mongodb is not installed) show this. + */ + $data = unserialize($record['data']); + if ($data == '') { + $html .= '<p>'. + 'MongoDB is not installed at this server.<br />' . + 'See more (for debian) <a href="http://www.howtoforge.com/fail2ban_debian_etch" target="htf">here...</a>'. + '</p>'; + } + else { + $html .= nl2br($data); + } + $html .= '</div></div>'; + + } else { + $html = '<p>There is no data available at the moment.</p>'; + } + + return $html; + } + function showIPTables() { global $app; $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); -- Gitblit v1.9.1