From cedad166fa7655b0a49e7e27c57bbee78032fbe7 Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Thu, 24 Sep 2015 07:47:39 -0400
Subject: [PATCH] Merge branch 'master' into 'master'
---
interface/lib/classes/tools_monitor.inc.php | 142 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 112 insertions(+), 30 deletions(-)
diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php
index 52888e8..bd1a969 100644
--- a/interface/lib/classes/tools_monitor.inc.php
+++ b/interface/lib/classes/tools_monitor.inc.php
@@ -33,7 +33,7 @@
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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'server_load' AND server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -80,7 +80,7 @@
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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'disk_usage' AND server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -91,16 +91,18 @@
$html =
'<div class="systemmonitor-state state-'.$record['state'].'">
<div class="systemmonitor-content icons32 ico-'.$record['state'].'">
- <table>
+ <table class="table">
+ <thead class="dark">
<tr>
- <td>'.$app->lng("monitor_diskusage_filesystem_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_type_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_size_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_used_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_available_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_usage_txt").'</td>
- <td>'.$app->lng("monitor_diskusage_mounted_txt").'</td>
- </tr>';
+ <th>'.$app->lng("monitor_diskusage_filesystem_txt").'</th>
+ <th class="small-col">'.$app->lng("monitor_diskusage_type_txt").'</th>
+ <th class="tiny-col">'.$app->lng("monitor_diskusage_size_txt").'</th>
+ <th class="tiny-col">'.$app->lng("monitor_diskusage_used_txt").'</th>
+ <th class="tiny-col">'.$app->lng("monitor_diskusage_available_txt").'</th>
+ <th class="tiny-col">'.$app->lng("monitor_diskusage_usage_txt").'</th>
+ <th>'.$app->lng("monitor_diskusage_mounted_txt").'</th>
+ </tr></thead>
+ <tbody>';
foreach($data as $line) {
$html .= '<tr>';
foreach ($line as $item) {
@@ -108,7 +110,7 @@
}
$html .= '</tr>';
}
- $html .= '</table>';
+ $html .= '</tbody></table>';
$html .= '</div></div>';
} else {
$html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>';
@@ -118,11 +120,55 @@
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 = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
+ 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 class="table"><thead class="dark"><tr>
+ <th>'.$app->lng("monitor_database_name_txt").'</th>
+ <th class="tiny-col">'.$app->lng("monitor_database_size_txt").'</th>
+ <th>'.$app->lng("monitor_database_client_txt").'</th>
+ <th>'.$app->lng("monitor_database_domain_txt").'</th>
+ </tr></thead>
+ <tbody>';
+ foreach($data as $line) {
+ $html .= '<tr>';
+ if ($line['size'] > 0) $line['size'] = $app->functions->formatBytes($line['size']);
+
+ //* get the client
+ $tmp = $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']);
+ $line['client'] = $tmp['username'];
+
+ //* get the domain
+ $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name=?", $line['database_name']);
+ $line['domain'] = $tmp['domain'];
+
+ //* remove the sys_groupid from output
+ unset($line['sys_groupid']);
+
+ foreach ($line as $item) {
+ $html .= '<td>' . $item . '</td>';
+ }
+ $html .= '</tr>';
+ }
+ $html .= '</tbody></table></div></div>';
+ } else {
+ $html = '<p>'.$app->lng("no_data_database_size_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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mem_usage' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -133,7 +179,8 @@
$html =
'<div class="systemmonitor-state state-'.$record['state'].'">
<div class="systemmonitor-content icons32 ico-'.$record['state'].'">
- <table>';
+ <table class="table">
+ <tbody>';
foreach($data as $key => $value) {
if ($key != '') {
@@ -143,7 +190,7 @@
</tr>';
}
}
- $html .= '</table>';
+ $html .= '</tbody></table>';
$html .= '</div></div>';
} else {
@@ -157,7 +204,7 @@
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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'cpu_info' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -168,7 +215,8 @@
$html =
'<div class="systemmonitor-state state-'.$record['state'].'">
<div class="systemmonitor-content icons32 ico-'.$record['state'].'">
- <table>';
+ <table class="table">
+ <tbody>';
foreach($data as $key => $value) {
if ($key != '') {
$html .= '<tr>
@@ -177,7 +225,7 @@
</tr>';
}
}
- $html .= '</table>';
+ $html .= '</tbody></table>';
$html .= '</div></div>';
} else {
$html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>';
@@ -190,7 +238,7 @@
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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'services' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -201,7 +249,8 @@
$html =
'<div class="systemmonitor-state state-'.$record['state'].'">
<div class="systemmonitor-content icons32 ico-'.$record['state'].'">
- <table>';
+ <table class="table">
+ <tbody>';
if($data['webserver'] != -1) {
if($data['webserver'] == 1) {
@@ -289,7 +338,7 @@
}
- $html .= '</table></div></div>';
+ $html .= '</tbody></table></div></div>';
} else {
$html = '<p>'.$app->lng("no_data_services_txt").'</p>';
}
@@ -302,7 +351,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'system_update' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'system_update' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
@@ -332,7 +381,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'openvz_beancounter' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'openvz_beancounter' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
@@ -361,7 +410,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'raid_state' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'raid_state' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
@@ -394,7 +443,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'rkhunter' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'rkhunter' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
@@ -425,7 +474,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_fail2ban' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_fail2ban' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
@@ -439,8 +488,41 @@
$data = unserialize($record['data']);
if ($data == '') {
$html .= '<p>'.
- 'fail2ban is not installed at this server.<br />' .
+ 'fail2ban is not installed on 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 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 = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
+
+ 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 on this server.<br />' .
'</p>';
}
else {
@@ -457,7 +539,7 @@
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");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$html =
'<div class="systemmonitor-state state-'.$record['state'].'">
@@ -481,7 +563,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mailq' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mailq' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
if(isset($record['data'])) {
$data = unserialize($record['data']);
@@ -497,7 +579,7 @@
global $app;
/* fetch the Data from the DB */
- $record = $app->db->queryOneRecord("SELECT created FROM monitor_data WHERE type = '" . $type . "' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+ $record = $app->db->queryOneRecord("SELECT created FROM monitor_data WHERE type = ? and server_id = ? ORDER BY created DESC", $type, $_SESSION['monitor']['server_id']);
/* TODO: datetimeformat should be set somewhat other way */
$dateTimeFormat = $app->lng("monitor_settings_datetimeformat_txt");
--
Gitblit v1.9.1