you may be wanting to do something like this:
use File::Tail;
my $fh = new File::Tail ('/var/log/mylog.log', #other params
) || die "can't find logfile";
my $report_every = (5 * 60); # email every 5 minutes
my $last = now; # 5 minutes before first report
while (<$fh>) {
gather_statistics($_);
if ( (now - $last_report) > $report_every ) {
email_report();
reset_counters();
$last = now;
}
}
File::Tail will take care of log rotation. This can run as a daemon, watch all the stuff from the log line at a time, and report every so often. I've used something similar to monitor router logs. Be prepared for lot's of email.
Snort does have the ability to log to syslog or a UNIX Socket which might suit your needs.
If you're looking for *changes* (not additions) to the logs, diff is the answer.
In reply to Re: Snort output; report changes only?
by Anonymous Monk
in thread Snort output; report changes only?
by satanklawz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |