Postfix 監視 · 1 min read · Sep 27, 2025

Debian Lenny における Mailgraph と pflogsumm を使用した Postfix 監視

Debian Lenny における Mailgraph と pflogsumm を使用した Postfix 監視

Version 1.0
Author: Falko Timme
Follow me on Twitter

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

以下では、Debian Lenny に 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 Mailgraph

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

aptitude install rrdtool mailgraph

次に、次のように mailgraph パッケージを設定します:

dpkg-reconfigure mailgraph 

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

Mailgraph を起動時に開始しますか? <– はい
Mailgraph が使用するログファイル: <– /var/log/mail.log

次の質問もあります:

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

もし、Postfix に amavisd のようなコンテンツフィルター(スパムおよびウイルススキャン用)を統合している場合(このチュートリアルのように: Postfix に amavisd-new を統合してスパムおよびウイルススキャンを行う)、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 は、SpamAssassin と ClamAV を使用してスパムおよびウイルスメールにタグを付けるように設定されたコンテンツフィルター(amavisd-new など)を Postfix に統合している場合にのみ、スパムとウイルスを報告します。これを行わない場合でもグラフは表示されますが、スパムとウイルスの報告はありません。

3 pflogsumm

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

aptitude install pflogsumm

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

vi /etc/logrotate.conf

| [...] # system-specific logs may be configured here /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] に送信されます。メールクライアントでは次のように表示されます:

4 リンク

Share: X/Twitter LinkedIn

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

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