function api_syslog_removal_reprocess($id) { /* remove records retroactively */ $syslog_items = syslog_remove_items('syslog', $id); $syslog_removed = $syslog_items['removed']; $syslog_xferred = $syslog_items['xferred']; $_SESSION['syslog_info'] = __('There were %s messages removed, and %s messages transferred', $syslog_removed, $syslog_xferred); raise_message('syslog_info'); }
syslog_db_execute('INSERT INTO `' . $syslogdb_default . '`.`syslog_statistics` (host_id, facility_id, priority_id, program_id, insert_time, records) SELECT host_id, facility_id, priority_id, program_id, NOW(), SUM(records) AS records FROM (SELECT host_id, facility_id, priority_id, program_id, COUNT(*) AS records FROM syslog_incoming AS si INNER JOIN syslog_hosts AS sh ON sh.host=si.host INNER JOIN syslog_programs AS sp ON sp.program=si.program WHERE status=' . $uniqueID . ' GROUP BY host_id, priority_id, facility_id, program_id) AS merge GROUP BY host_id, priority_id, facility_id, program_id'); $stats = db_affected_rows($syslog_cnn); syslog_debug('Stats ' . $stats . ", Record(s) to the 'syslog_statistics' table"); } /* remote records that don't need to to be transferred */ $syslog_items = syslog_remove_items('syslog_incoming', $uniqueID); $syslog_removed = $syslog_items['removed']; $syslog_xferred = $syslog_items['xferred']; /* send out the alerts */ $query = syslog_db_fetch_assoc('SELECT * FROM `' . $syslogdb_default . "`.`syslog_alert` WHERE enabled='on'"); $syslog_alerts = sizeof($query); if (read_config_option('syslog_html') == 'on') { $html = true; } else { $html = false; } syslog_debug('Found ' . $syslog_alerts . ', Alert Rule' . ($syslog_alerts == 1 ? '' : 's') . ' to process'); $syslog_alarms = 0; if (sizeof($query)) { foreach ($query as $alert) { $sql = '';
/* tally statistics for this interval */ syslog_db_execute('INSERT INTO `' . $syslogdb_default . '`.`syslog_statistics` (host_id, facility_id, priority_id, insert_time, records) SELECT host_id, facility_id, priority_id, NOW(), sum(records) AS records FROM (SELECT host_id, facility_id, priority_id, count(*) AS records FROM syslog_incoming AS si INNER JOIN syslog_facilities AS sf ON sf.facility=si.facility INNER JOIN syslog_priorities AS sp ON sp.priority=si.priority INNER JOIN syslog_hosts AS sh ON sh.host=si.host WHERE status=' . $uniqueID . "\n\t\tGROUP BY host_id, priority_id, facility_id) AS merge\n\tGROUP BY host_id, priority_id, facility_id"); $stats = $syslog_cnn->Affected_Rows(); syslog_debug("Stats " . $stats . ", Record(s) to the 'syslog_statistics' table"); /* remote records that don't need to to be transferred */ $syslog_items = syslog_remove_items("syslog_incoming", $uniqueID); $syslog_removed = $syslog_items["removed"]; $syslog_xferred = $syslog_items["xferred"]; /* send out the alerts */ $query = syslog_db_fetch_assoc("SELECT * FROM `" . $syslogdb_default . "`.`syslog_alert` WHERE enabled='on'"); $syslog_alerts = sizeof($query); if (read_config_option("syslog_html") == "on") { $html = true; } else { $html = false; } syslog_debug("Found " . $syslog_alerts . ", Alert Rule" . ($syslog_alerts == 1 ? "" : "s") . " to process"); $syslog_alarms = 0; if (sizeof($query)) { foreach ($query as $alert) { $sql = '';