2007-04-03 14:10:23 +00:00
#!/usr/bin/php
<? php
include ( "config.php" );
include ( "includes/functions.php" );
2007-06-24 14:56:47 +00:00
if ( ! $enable_syslog ) { exit (); }
2007-04-03 14:10:23 +00:00
$add = 0 ;
$discard = 0 ;
$total = 0 ;
2007-05-20 19:21:35 +00:00
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]:%'" );
2007-04-03 14:10:23 +00:00
$q = mysql_query ( "SELECT * FROM `logs`" );
while ( $l = mysql_fetch_array ( $q )){
unset ( $host );
unset ( $maybehost );
unset ( $perhapshost );
2007-04-11 20:57:56 +00:00
$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 );
2007-04-03 14:10:23 +00:00
if ( $maybehost ) {
$host = $maybehost ;
} elseif ( $perhapshost ) {
$host = $perhapshost ;
2007-06-24 14:56:47 +00:00
} else { `echo Failed log entry from $l[host] > /var/log/observer.log` ; }
2007-04-03 14:10:23 +00:00
if ( $host ) {
2007-04-11 20:57:56 +00:00
if ( mysql_result ( mysql_query ( "SELECT os FROM `devices` WHERE `device_id` = ' $host '" ), 0 ) == "IOS" ) {
2007-04-03 14:10:23 +00:00
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 ]);
} else {
$l [ msg ] = preg_replace ( "/^" . $l [ program ] . ":\ /" , "" , $l [ msg ]);
}
$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] ' );" ;
mysql_query ( $x );
$add ++ ;
} else { $discard ++ ; }
mysql_query ( "DELETE FROM logs WHERE seq = ' $l[seq] '" );
$total ++ ;
}
2007-05-20 19:21:35 +00:00
#echo("$total records processed: $add added to database, $discard discarded");
2007-04-03 14:10:23 +00:00
?>