#! /usr/local/bin/perl
# summary-log.pl : summarize statistic information from syslog file.
# Usage: cat /var/log/local5.log* | summary-log.pl > summary
$LowLimit = 10;
%month = ('Jan', 1, 'Feb', 2, 'Mar', 3, 'Apr', 4, 'May', 5, 'Jun', 6,
'Jul', 7, 'Aug', 8, 'Sep', 9, 'Oct', 10, 'Nov', 11, 'Dec', 12);
print "# Version 1\n";
print "# nsent,ntrans,maxsock,tsendmail,tmx,tdelivery\n";
while (<>) {
chop;
next unless (m|smtp_i/o|);
@line = split(' ');
$date = $month{$line[0]}.'/'.$line[1].' '.$line[2];
undef %data;
foreach $eq (split(' ')) {
if ($eq =~ /=/) {
($data{$`} = $') =~ s|/|,|;
}
}
next if ((split(',', $data{nsent}))[0] < $LowLimit);
# next if ($data{tsendmail} < 0);
print "$date, $data{nsent}, $data{ntrans}, $data{maxsock}, "
."$data{tsendmail}, $data{tmx}, $data{tdelivery}\n";
}
exit 0;
syntax highlighted by Code2HTML, v. 0.9.1