Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

mailgraph--Postfix邮件统计的好工具

| Comments

公司用postfix做MTA来发送邮件,需要知道每天的发送情况,最好有比较详细和直观的统计表示。 我来之前公司采用自己写的JAVA程序来分析maillog,但是邮件升级后,程序分析就有问题,暂时我也改不了程序,所以只能想其他办法了。

其实sendmail自带了一个邮件统计命令–mailstats,可以简单的统计邮件发送情况。但是不知道对postfix是否适合。 在网上搜索了一下,有好几个程序可以做这个事情。我目前采用了mailgraph这个程序来完成我的工作。

先看我目前使用的效果: http://mail.5460.cn:1215/cgi-bin/mailgraph.cgi

方法如下:

  1. 安装RRDtool,Tail等模块。

      #wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.2.15.tar.gz
     #tar -vxzf rrdtool-1.2.15.tar.gz #cd rrdtool-1.2.15 
     #./configure&& make && make install & make site-perl-install
     #cd .. 
     #cpan 
     cpan>install Time::HiRes 
     cpan> install File::Tail 
     cpan> exit 
    

这里利用了perl的自动更新库功能,如果你是代理上网,那么在执行cpan的时候,填写你的代理服务器地址。

  1. 下载安装mailgraph

      #wget wget
     http://people.ee.ethz.ch/~dws/software/mailgraph/pub/mailgraph-1.12.tar.gz
     #tar -vxzf mailgraph-1.12.tar.gz 
     #cd mailgraph-1.12 
     #cp mailgraph.cgi /var/www/cgi-bin/ 
     #chmod 755 /var/www/cgi-bin/mailgraph.cgi 
     #cp mailgraph-init /etc/init.d/mailgraph-init
     #chmod u+x /etc/init.d/mailgraph-init 
     #cp mailgraph.pl /usr/local/bin/ 
    

如果你的mail日志不是在缺省路径(/var/log/maillog),那么修改/etc/init.d/mailgraph-init文件,修改前面的变量。 修改mailgraph.pl文件,保证RRDs.pm模块能包含进来。打开/usr/local/bin/mailgraph.pl文件,在第二行加上 use lib '/usr/local/rrdtool-1.2.15/lib/perl/';

  1. 运行和测试

      #/etc/init.d/httpd restart 
      #/etc/init.d/mailgraph-init start 
    

打开浏览器,输入
http://your-domain/cgi-bin/mailgraph.cgi
你应该可以看到效果了。

BTW: postfix程序的文档库中(/usr/share/doc/postfix-)中有一个名为pflogsumm-faq.txt的文件。其实pflogsumm也是一个统计postfix邮件的程序,地址如下:

http://jimsun.linxnet.com/postfix_contrib.html

Comments