-----------------------------------------------------
mailgraph - a RRDtool frontend for Postfix Statistics
by David Schweikert <david@schweikert.ch>
-----------------------------------------------------
mailgraph is a very simple mail statistics RRDtool frontend for Postfix that produces daily, weekly, monthly and yearly graphs of received/sent and bounced/rejected mail (SMTP traffic).
Get it from:
http://mailgraph.schweikert.ch/
===============================
rrdtool and it's perl module (RRDs) -> http://oss.oetiker.ch/rrdtool/
File::Tail (which requires Time::HiRes) -> get it from CPAN
Note that several Linux distributions will already have these modules as RPMs.
mailgraph is made of two scripts:
mailgraph.pl
This script does parse syslog and updates the RRD database (mailgraph.rrd) in the current directory.
It is a deamon and will monitor your log-file for changes. DO NOT RUN IT WITH CRON!
usage: mailgraph.pl [options]
-h, --help display this help and exit -v, --verbose be verbose about what you do -V, --version output version information and exit -c, --cat causes the logfile to be only read and not monitored -l, --logfile f monitor logfile f instead of /var/log/syslog -y, --year starting year of the log file (default: current year) --host=HOST use only entries for HOST (regexp) in syslog -d, --daemon start in the background --daemon-pid=FILE write PID to FILE instead of /var/run/mailgraph.pid --daemon-rrd=DIR write RRDs to DIR instead of /var/log --daemon-log=FILE write verbose-log to FILE instead of /var/log/mailgraph.log --ignore-localhost ignore mail to/from localhost (used for virus scanner)\n";
If -c is not specified, mailgraph will monitor logfile for Postfix log entries in logfile (/var/log/syslog unless -l is specified).
mailgraph.cgi
This is a CGI script that does generate graphics from the RRD database.
You have probably to change $rrd to point to where the RRD database is stored.
Note that "Bounced", "Viruses", and "Spam" are stacked one on another in the graph, whereas "Rejected" is a line.
See the file mailgraph-init for an example init script that you can use to start mailgraph at system boot.
You need to put mailgraph.cgi on somewhere accessible though a web-server, it needs to be executeable and the web-server needs to execute it as a CGI.
mailgraph is released under the GPL license. See the file COPYING included in the distribution for details.