You are here: start » resources » statistics » update.pl
You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.
You don't have an account yet? Just get one: Register
Forgotten your password? Get a new one: Send new password
#!/usr/bin/perl -w
use strict;
use RRDs;
use Env qw(PATH);
$PATH='/home/stats/rrdtool/:/usr/local/bin/:/usr/bin/';
my $logFile='/service/qpsmtpd/log/main/current';
my $offFile='/home/stats/rrdtool/current.offset';
my $inCommand= "logtail $logFile $offFile | ";
$inCommand .= 'collapse_qpsmtpd_conn.pl | ';
$inCommand .= 'transaction-results.pl';
open INPUT, '-|', $inCommand or die "Can't process log file: @!";
my %types;
$types{'queued'}=0;
$types{'spamcop'}=0;
$types{'mail-from-temp'}=0;
$types{'ordb'}=0;
$types{'netcetera'}=0;
$types{'no-such-user'}=0;
$types{'early-talker'}=0;
$types{'queue-error'}=0;
$types{'spamhaus'}=0;
$types{'fqdn-required'}=0;
$types{'cbl'}=0;
$types{'clamav'}=0;
$types{'spf'}=0;
$types{'dul'}=0;
$types{'socks'}=0;
$types{'exploit'}=0;
$types{'web'}=0;
$types{'resident'}=0;
while (<INPUT>) {
my ($t, $nb) = split;
#printf("%s:%s\n", $t, $nb);
$types{$t}=$nb;
}
close INPUT;
RRDs::update("/home/stats/rrdtool/rrds/queued.rrd","N:".$types{'queued'});
RRDs::update("/home/stats/rrdtool/rrds/spamcop.rrd","N:".$types{'spamcop'});
RRDs::update("/home/stats/rrdtool/rrds/mail-from-temp.rrd","N:".$types{'mail-from-temp'});
RRDs::update("/home/stats/rrdtool/rrds/ordb.rrd","N:".$types{'ordb'});
RRDs::update("/home/stats/rrdtool/rrds/netcetera.rrd","N:".$types{'netcetera'});
RRDs::update("/home/stats/rrdtool/rrds/no-such-user.rrd","N:".$types{'no-such-user'});
RRDs::update("/home/stats/rrdtool/rrds/early-talker.rrd","N:".$types{'early-talker'});
RRDs::update("/home/stats/rrdtool/rrds/queue-error.rrd","N:".$types{'queue-error'});
RRDs::update("/home/stats/rrdtool/rrds/spamhaus.rrd","N:".$types{'spamhaus'});
RRDs::update("/home/stats/rrdtool/rrds/fqdn-required.rrd","N:".$types{'fqdn-required'});
RRDs::update("/home/stats/rrdtool/rrds/cbl.rrd","N:".$types{'cbl'});
RRDs::update("/home/stats/rrdtool/rrds/clamav.rrd","N:".$types{'clamav'});
RRDs::update("/home/stats/rrdtool/rrds/spf.rrd","N:".$types{'spf'});
RRDs::update("/home/stats/rrdtool/rrds/dul.rrd","N:".$types{'dul'});
RRDs::update("/home/stats/rrdtool/rrds/socks.rrd","N:".$types{'socks'});
RRDs::update("/home/stats/rrdtool/rrds/exploit.rrd","N:".$types{'exploit'});
RRDs::update("/home/stats/rrdtool/rrds/web.rrd","N:".$types{'web'});
RRDs::update("/home/stats/rrdtool/rrds/resident.rrd","N:".$types{'resident'});
my $ERR=RRDs::error;
die "ERROR while updating rrds: $ERR\n" if $ERR;