diff --git a/html/includes/print-menubar.php b/html/includes/print-menubar.php
index f0e3fb462..91128bb51 100644
--- a/html/includes/print-menubar.php
+++ b/html/includes/print-menubar.php
@@ -30,7 +30,7 @@
Overview
Eventlog
-
Syslog");
} ?>
Alerts
diff --git a/html/includes/print-syslog.inc b/html/includes/print-syslog.inc
index 989dbc04d..7d0ad0c21 100644
--- a/html/includes/print-syslog.inc
+++ b/html/includes/print-syslog.inc
@@ -7,36 +7,28 @@ if($bg == $list_colour_a) { $bg = $list_colour_b; } else { $bg=$list_colour_a; }
# $interface = fixifname(getifbyid($entry['interface']));
# }
- $entry['device_id'] = $entry['host'];
- $entry['hostname'] = gethostbyid($entry['host']);
+ $entry['hostname'] = gethostbyid($entry['device_id']);
unset($icon);
- $icon = geteventicon($entry['message']);
- if($icon) {$icon = "
"; }
-
-
+# $icon = geteventicon($entry['message']);
+# if($icon) {$icon = "
"; }
echo("
- |
- ");
+ | | ");
- if($page == "syslog") {
- echo("" . generatedevicelink($entry) . "
");
+ echo("" . $entry['date'] . " | ");
+
+ if($_GET['page'] == "syslog") {
+ echo("".generatedevicelink($entry['device_id'], $entry['hostname'])." | ");
}
- echo($entry['datetime'] . "
-
-
- " . $entry['program'] . "
- |
-
+
+ echo(" |
+ " . $entry['program'] . " :
" . htmlspecialchars($entry['msg']) . "
|
|
");
-
-
-
?>
diff --git a/html/pages/device.php b/html/pages/device.php
index 591aeffb5..ede1b0fcd 100644
--- a/html/pages/device.php
+++ b/html/pages/device.php
@@ -116,13 +116,13 @@ echo("
");
-echo("
+if($config['enable_syslog']) { echo("
-
Syslog
-");
+"); }
if($_SESSION[userlevel] >= "5") {
echo("
diff --git a/html/pages/device/dev-syslog.inc b/html/pages/device/dev-syslog.inc
index f5db434f3..9a9c2e4ae 100644
--- a/html/pages/device/dev-syslog.inc
+++ b/html/pages/device/dev-syslog.inc
@@ -1,7 +1,7 @@
-$query = "SELECT *, DATE(datetime) AS date, TIME(datetime) AS time ";
-$query .= "FROM `syslog` WHERE `host` = '" . $_GET['id'] . "'";
+$query = "SELECT *, DATE_FORMAT(datetime, '%D %b %T') AS date ";
+$query .= "FROM `syslog` WHERE `device_id` = '" . $_GET['id'] . "'";
if($search) { $query .= " AND `msg` LIKE '%" . $_POST['search'] . "%'"; }
$query .= " ORDER BY `datetime` desc LIMIT 0,500";
diff --git a/html/pages/syslog.php b/html/pages/syslog.php
index d48b40567..c17af350d 100644
--- a/html/pages/syslog.php
+++ b/html/pages/syslog.php
@@ -1,7 +1,7 @@
-$sql = "select * from syslog ORDER BY datetime DESC LIMIT 1000";
+$sql = "SELECT *, DATE_FORMAT(datetime, '%D %b %T') AS date from syslog ORDER BY datetime DESC LIMIT 1000";
$query = mysql_query($sql);
diff --git a/process-syslog.php b/process-syslog.php
index 38dd89f92..3043b7c7f 100755
--- a/process-syslog.php
+++ b/process-syslog.php
@@ -4,58 +4,67 @@
include("config.php");
include("includes/functions.php");
-if(!$enable_syslog) { exit(); }
+if(!$config['enable_syslog']) { echo("Syslog support disabled.\n"); exit(); }
$add = 0;
$discard = 0;
$total = 0;
-mysql_query("DELETE FROM `logs` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.44]:%'");
-mysql_query("DELETE FROM `logs` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.35]:%'");
+mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%last message repeated%'");
+mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.44]:%'");
+mysql_query("DELETE FROM `syslog` WHERE `msg` LIKE '%Connection from UDP: [89.21.224.35]:%'");
-$q = mysql_query("SELECT * FROM `logs`");
-while($l = mysql_fetch_array($q)){
+$q = mysql_query("SELECT * FROM `syslog` where `processed` = '0'");
+while($entry = mysql_fetch_array($q)){
- unset($host);
+ unset($device_id);
unset($maybehost);
unset($perhapshost);
- $maybehost = @mysql_result(mysql_query("SELECT D.device_id as device_id FROM ipaddr AS A, interfaces AS I, devices AS D WHERE A.addr = '" . $l['host'] . "' AND I.interface_id = A.interface_id AND D.device_id = I.device_id"),0);
- $perhapshost = @mysql_result(mysql_query("SELECT device_id FROM devices WHERE `hostname` = '$l[host]'"),0);
+ $device_id_host = @mysql_result(mysql_query("SELECT device_id FROM devices WHERE `hostname` = '".$entry['host']."'"),0);
- if($maybehost) {
- $host = $maybehost;
- } elseif($perhapshost) {
- $host = $perhapshost;
- } else { `echo Failed log entry from $l[host] >> /var/log/observer.log`; }
+ if($device_id_host) {
+ $device_id = $device_id_host;
+ } else {
+ $device_id_ip = @mysql_result(mysql_query("SELECT D.device_id as device_id FROM ipaddr AS A, interfaces AS I, devices AS D WHERE A.addr = '" . $entry['host']."' AND I.interface_id = A.interface_id AND D.device_id = I.device_id"),0);
+ if($device_id_ip) {
+ $device_id = $device_id_ip;
+ }
+ }
- if($host) {
+ if($device_id) {
- if(mysql_result(mysql_query("SELECT os FROM `devices` WHERE `device_id` = '$host'"),0) == "IOS") {
- list(,$l[msg]) = split(": %", $l[msg]);
- $l[msg] = "%" . $l[msg];
- $l[msg] = preg_replace("/^%(.+?):\ /", "\\1||", $l[msg]);
- list($l[program], $l[msg]) = explode("||", $l[msg]);
+ if(mysql_result(mysql_query("SELECT `os` FROM `devices` WHERE `device_id` = '$device_id'"),0) == "IOS") {
+ list(,$entry[msg]) = split(": %", $entry['msg']);
+ $entry['msg'] = "%" . $entry['msg'];
+ $entry['msg'] = preg_replace("/^%(.+?):\ /", "\\1||", $entry['msg']);
+ list($entry['program'], $entry['msg']) = explode("||", $entry['msg']);
} else {
- $program = addslashes($l['program']);
- $l['msg'] = preg_replace("/^$program:\ /", "", $l['msg']);
+ $program = addslashes($entry['program']);
+ $entry['msg'] = preg_replace("/^$program:\ /", "", $entry['msg']);
+ if(preg_match("/^[a-zA-Z\/]+\[[0-9]+\]:/", $entry['msg'])) {
+ $entry['msg'] = preg_replace("/^(.+?)\[[0-9]+\]:\ /", "\\1||", $entry['msg']);
+ list($entry['program'], $entry['msg']) = explode("||", $entry['msg']);
+ echo("fix! -> " . $entry['program'] . " -> " . $entry['msg'] . "\n");
+ }
}
-
- $x = "INSERT INTO syslog (`host` , `facility` , `priority` , `level` , `tag` , `datetime` , `program` , `msg` )";
- $x .= " VALUES ( '$host', '$l[facility]', '$l[priority]', '$l[level]', '$l[tag]', '$l[datetime]', '$l[program]', '$l[msg]' );";
-
+ $x = "UPDATE `syslog` set `device_id` = '$device_id', `program` = '".$entry['program']."', `msg` = '" . mysql_real_escape_string($entry['msg']) . "', processed = '1' WHERE `seq` = '" . $entry['seq'] . "'";
+# echo("$x \n");
mysql_query($x);
-
+ unset ($fix);
$add++;
-
- } else { $discard++; }
-
- mysql_query("DELETE FROM logs WHERE seq = '$l[seq]'");
+ } else {
+ echo("Failed entry from '" . $entry['host'] . "'");
+ $x = "DELETE FROM `syslog` where `seq` = '" . $entry['seq'] . "'";
+ mysql_query($x);
+ $discard++;
+ }
$total++;
}
#echo("$total records processed: $add added to database, $discard discarded");
+
?>