Mailgraph とは、日毎、週毎、月毎及び年毎のメールの受信・送信数・エラー数・拒否数・ウィルス数・spam数などをグラフ化しウェブ上で見れるようにできるPostfix用のメール統計ツールです。

私はAWStatsと、NagiosでMail Serverの状態を監視してましたが
Cactiで表示したかったのですけれども、あまり良く分からなかったので
このMailgraphを導入してみました♪

導入方法は

perl-File-Tail rrdtoolが必要なのでインストールします
[root@dev ~]# yum --enablerepo=dag -y install perl-File-Tail rrdtool
Mailgraphをダウンロードします
[root@dev ~]# wget http://mailgraph.schweikert.ch/pub/mailgraph-1.14.tar.gz
ダウンロードしたファイルを解凍します
[root@dev ~]# tar zxvf mailgraph-1.14.tar.gz
解凍されたディレクトリに移動します
[root@dev ~]# cd mailgraph-1.14
解凍されたディレクトリ内にある、解凍されたmailgraph.plを /usr/local/bin/にコピーします
[root@dev mailgraph-1.14]# cp mailgraph.pl /usr/local/bin/
ディレクトリ /var/www/ に mailgraph と言うディレクトリを作ります
[root@dev mailgraph-1.14]# mkdir /var/www/mailgraph
上記で作成した /var/www/mailgraph/ と言うディレクトリに mailgraph-1.14 ディレクトリにある mailgraph.cgi をコピーします
[root@dev mailgraph-1.14]# cp mailgraph.cgi /var/www/mailgraph/
/var/www/mailgraph/mailgraph.cgiのパーミッションを755に変更します
[root@dev mailgraph-1.14]# chmod 755 /var/www/mailgraph/mailgraph.cgi
カレントディレクトリに移動
[root@dev mailgraph-1.14]# cd
解凍時作成された mailgraph-1.14 ディレクトリを削除
[root@dev ~]# rm -rf mailgraph-1.14
ダウンロードしたファイル mailgraph-1.14.tar.gz を削除
[root@dev ~]# rm -f mailgraph-1.14.tar.gz

 
設定

mailgraph.pl を開く
[root@dev ~]# vi /usr/local/bin/mailgraph.pl
380・381行目の my $rrd = my $rrd_virus = を下記の通り変更
[root@dev ~]# vi /usr/local/bin/mailgraph.pl

my $rrd = "/var/www/mailgraph/mailgraph.rrd";
my $rrd_virus = "/var/www/mailgraph/mailgraph_virus.rrd";
Apache用に mailgraph.conf と言う設定ファイルを作成する
[root@dev ~]# vi /etc/httpd/conf.d/mailgraph.conf
Alias /mailgraph /var/www/mailgraph

<Location /mailgraph>
   Options ExecCGI
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1 192.168.1
</Location>
起動スクリプト作成
[root@dev ~]# vi /etc/rc.d/init.d/mailgraph
#!/bin/bash
#
# MailGraph: Starting MailGraph
#
# chkconfig: 345 92 93
# description: Mailgraph is a simple mail statistics RRDtool frontend.
# processname: mailgraph

. /etc/rc.d/init.d/functions

maillog="/var/log/maillog"
mailgraph="/usr/local/bin/mailgraph.pl"
lockfile="/var/lock/subsys/mailgraph"
prog="mailgraph"
RETVAL=0

start() {
  if [ -f $lockfile ]; then
  echo -n $"$prog is already running: "
  echo
  else
  echo -n $"Starting $prog: "
  daemon $mailgraph -d -l $maillog
  RETVAL=$?
  echo
  [ $RETVAL = 0 ] && touch $lockfile
  return $RETVAL
  fi
}
stop() {
  echo -n $"Stopping $prog: "
  killproc $mailgraph
  RETVAL=$?
  echo
  [ $RETVAL = 0 ] && rm -f $lockfile
  return $RETVAL
}
case "$1" in
  start)
  start
  ;;
  stop)
  stop
  ;;
  restart)
  stop
  start
  ;;
  status)
  status $mailgraph
  ;;
  *)
  echo "Usage: $prog {start|stop|restart|status}"
  exit 1
esac

exit $?
/etc/rc.d/init.d/mailgraph のパーミッションを755に変更します
[root@dev ~]# chmod 755 /etc/rc.d/init.d/mailgraph
Mailgraphを起動します
[root@dev ~]# /etc/rc.d/init.d/mailgraph start
mailgraph を起動中:                                        [  OK  ]
Apacheを再起動します
[root@dev ~]# /etc/rc.d/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
自分でコンパイル・インストールしたMailgraphを自動起動させるためにchkconfig --addコマンドを入力
[root@dev ~]# chkconfig --add mailgraph
Mailgraphを自動起動設定
[root@dev ~]# chkconfig mailgraph on

 
 
http://(サーバーのホスト名)/mailgraph/mailgraph.cgi にアクセスすると以下のようなグラフが表示され
メールの送受信状況を見ることができます。
sc0001 230x300 MailgraphでPostfixの動作をグラフィカルに見る