Postfix 監視 · 1 min read · Jan 10, 2026

Mailgraph と pflogsumm を使用した Postfix 監視

Mailgraph と pflogsumm を使用した Postfix 監視

バージョン 1.0
著者: Falko Timme

この記事では、Mailgraph と pflogsumm を使用して Postfix メールサーバーを監視する方法について説明します。Mailgraph は、送信、受信、バウンス、拒否されたメールの毎日、毎週、毎月、毎年のグラフを作成し、SpamAssassin と ClamAV が Postfix に統合されている場合は、スパムやウイルスのグラフも作成します。これらのグラフはブラウザでアクセスでき、pflogsumm(”Postfix Log Entry Summarizer”)は、Postfix の活動に関するレポートをメールで送信するために使用できます。

以下では、Debian Sarge、Ubuntu Dapper Drake (6.06 LTS)、および Fedora Core 5 に Mailgraph と pflogsumm をインストールおよび構成する方法を説明します。

まず最初に、このシステムを設定する方法はこれだけではないことを言いたいと思います。この目標を達成する方法はたくさんありますが、これが私の取る方法です。これがあなたにとって機能することを保証するものではありません!

1 前提条件

このチュートリアルでは、私の Linux システムの IP アドレスは 192.168.0.100 で、http://www.example.com のウェブサイトをホストし、ドキュメントルートは /var/www/www.example.com/web で、cgi-bin ディレクトリは /var/www/www.example.com/cgi-bin です。また、pflogsumm レポートをメールアドレス [email protected] に送信します。

2 Debian Sarge

2.1 Mailgraph

Debian Sarge には Mailgraph と pflogsumm のパッケージがあるので、これらを単純にインストールします。また、Mailgraph がグラフを描画するために必要なデータを保存する rrdtool もインストールします:

apt-get install rrdtool mailgraph  

いくつかの質問がされます:

Mailgraph をブート時に起動しますか? <– はい
Mailgraph が使用するログファイルはどれですか? <– /var/log/mail.log
削除時に RRD ファイルを削除しますか? <– はい

次の質問もあります:

受信メールを送信メールとしてカウントしますか?

もし、Postfix に amavisd のようなコンテンツフィルタを統合している場合(このチュートリアルのように: Postfix、Courier、MySQL を使用した仮想ユーザーとドメイン (+ SMTP-AUTH、クォータ、SpamAssassin、ClamAV))、Mailgraph がメールを二重にカウントしないように「いいえ」と答えてください(Postfix はメールを amavisd に配信し、amavisd がスキャンに成功した後、メールを Postfix に戻します)。コンテンツフィルタを使用していない場合は「はい」と答えてください。

インストール中に、Mailgraph のシステム起動リンクが自動的に作成され、Mailgraph も自動的に起動するため、手動で起動する必要はありません。

次に、mailgraph.cgi スクリプト(グラフを描画し、ウェブブラウザ用の出力を作成する)を www.example.com の cgi-bin ディレクトリにコピーする必要があります:

cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin  

スクリプトはすでに実行可能なので、chmod する必要はありません。www.example.com のウェブサイトに suExec を使用している場合は、mailgraph.cgi の所有者とグループを適切に変更する必要があります。

今、ブラウザを http://www.example.com/cgi-bin/mailgraph.cgi に向けると、いくつかのグラフが表示されるはずです。もちろん、最初の結果が表示される前に、システムを通過するメールがいくつか必要ですので、しばらくお待ちください。

しばらくすると、あなたのグラフは次のように見えるかもしれません(以下の出力はカスタマイズされているため、あなたのものとは正確には異なります):

毎日の統計。  

週間統計。

毎月の統計。  

年間統計。  

注意: Mailgraph は、Postfix に amavisd のようなコンテンツフィルタを統合し、SpamAssassin と ClamAV を使用してスパムやウイルスメールにタグを付けるように設定されている場合にのみ、スパムやウイルスを報告します。これを行わない場合でも、グラフは表示されますが、スパムやウイルスの報告はありません。

2.2 pflogsumm

pflogsumm をインストールするには、次のコマンドを実行します

apt-get install pflogsumm  

pflogsumm を毎日 cron ジョブで実行し、レポートを [email protected] に送信したいと思います。したがって、システムが 24 時間ごとに 1 つのメールログファイルを書き込み、その後次のメールログを開始するように構成する必要があります。これにより、古いメールログを pflogsumm に供給できます。したがって、logrotate(システムのログファイルを回転させるプログラム)を次のように構成します: /etc/logrotate.conf を開き、# system-specific logs may be configured here の行の後に次のスタンザを追加します:

vi /etc/logrotate.conf

| /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |

/etc/cron.daily には logrotate スクリプトがあります。このスクリプトは毎日 06:00h と 07:00h の間に呼び出されます。私たちが行った構成により、現在の Postfix ログ /var/log/mail.log が /var/log/mail.log.0 にコピーされ、圧縮され、圧縮されたファイルは /var/log/mail.log.0.gz になります。また、新しい空の /var/log/mail.log が作成され、Postfix は次の 24 時間の間にログを記録できます。

次に、/usr/local/sbin/postfix_report.sh というスクリプトを作成し、pflogsumm を呼び出してレポートを [email protected] に送信します:

vi /usr/local/sbin/postfix_report.sh

| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gunzip /var/log/mail.log.0.gz pflogsumm /var/log/mail.log.0 | formail -c -I"Subject: Mail Statistics" -I"From: pflogsumm@localhost" -I"To: [email protected]" -I"Received: from www.example.com ([192.168.0.100])" | sendmail [email protected] gzip /var/log/mail.log.0 exit 0 |

このスクリプトを実行可能にする必要があります:

chmod 755 /usr/local/sbin/postfix_report.sh

次に、毎日 07:00h にスクリプトを呼び出す cron ジョブを作成します:

crontab -e

| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |

これにより、レポートが [email protected] に送信されます。メールクライアントでは次のように表示されます:

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。