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
---
server/mods-available/monitor_core_module.inc.php | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 44 insertions(+), 1 deletions(-)
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