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

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

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

Version 1.0
Author: Falko Timme

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

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

apt-get install rrdtool mailgraph

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

dpkg-reconfigure mailgraph

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

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

次に、この質問もあります:

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

もし、Postfix に amavisd のようなコンテンツフィルター(スパムやウイルススキャン用)を統合している場合(このチュートリアルのように:Postfix に amavisd-new を統合してスパムおよびウイルススキャンを行う)、Mailgraph がメールを二重にカウントしないように「いいえ」と答えてください(Postfix はメールを 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 をインストールするには、次のコマンドを実行します。

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

| [...] # 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

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

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