From 671a41a278bf435f5245ff29124b4c02b2d2b6f9 Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Fri, 12 Dec 2008 07:41:27 -0500
Subject: [PATCH] monitor: the ispconfig - Log is now part of the system-state
---
interface/web/monitor/show_sys_state.php | 26 ++++++++++++
server/mods-available/monitor_core_module.inc.php | 45 ++++++++++++++++++++++
2 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/interface/web/monitor/show_sys_state.php b/interface/web/monitor/show_sys_state.php
index 3d94a4e..d316119 100644
--- a/interface/web/monitor/show_sys_state.php
+++ b/interface/web/monitor/show_sys_state.php
@@ -381,10 +381,33 @@
break;
}
}
+
+ if ($type == 'sys_log'){
+ switch ($record['state']) {
+ case 'ok':
+ $messages['ok'][] = 'The System-Log is O.K. ' .
+ "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
+ break;
+ case 'warning':
+ $messages['warning'][] = 'There are some warnings in your System-Log ' .
+ "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
+ break;
+ case 'error':
+ $messages['error'][] = 'There are errors in your System-Log ' .
+ "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
+ break;
+ default:
+ $messages['unknown'][] = 'sys-log:??? ' .
+ "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[more...]</a>";
+ break;
+ }
+ }
+
if ($type == 'log_clamav'){
/* this type has no state */
}
- if ($type == 'log_freshclam'){
+
+ if ($type == 'log_freshclam'){
switch ($record['state']) {
case 'ok':
$messages['ok'][] = 'Your Virus-protection is ok ' .
@@ -400,6 +423,7 @@
break;
}
}
+
if ($type == 'log_ispconfig'){
/* this type has no state */
}
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 1ff82b1..335986f 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -120,6 +120,7 @@
$this->monitorMailQueue();
$this->monitorRaid();
$this->monitorRkHunter();
+ $this->monitorSysLog();
}
function monitorServer(){
@@ -729,7 +730,49 @@
$this->_delOldRecords($type, 0, 2);
}
- function monitorMailLog()
+ function monitorSysLog(){
+ global $app;
+ global $conf;
+
+ /* the id of the server as int */
+ $server_id = intval($conf["server_id"]);
+
+ /** The type of the data */
+ $type = 'sys_log';
+
+ /*
+ * is there any warning or error for this server?
+ */
+ $state = 'ok';
+ $dbData = $app->dbmaster->queryAllRecords("SELECT loglevel FROM sys_log WHERE server_id = " . $server_id . " AND loglevel > 0");
+ if (is_array($dbData)) {
+ foreach($dbData as $item){
+ if ($item['loglevel'] == 1) $state = $this->_setState($state, 'warning');
+ if ($item['loglevel'] == 2) $state = $this->_setState($state, 'error');
+ }
+ }
+
+ /** There is no monitor-data because the data is in the sys_log table */
+ $data['output']= '';
+
+ /*
+ * Insert the data into the database
+ */
+ $sql = "INSERT INTO monitor_data (server_id, type, created, data, state) " .
+ "VALUES (".
+ $server_id . ", " .
+ "'" . $app->dbmaster->quote($type) . "', " .
+ time() . ", " .
+ "'" . $app->dbmaster->quote(serialize($data)) . "', " .
+ "'" . $state . "'" .
+ ")";
+ $app->dbmaster->query($sql);
+
+ /* The new data is written, now we can delete the old one */
+ $this->_delOldRecords($type, 10);
+ }
+
+function monitorMailLog()
{
global $app;
global $conf;
--
Gitblit v1.9.1