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.
#!/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;