postfixログ解析ツール pflogsumm 導入

2021-06-24

pflogsummについて

昔からありますが、Postfixのログ解析ツールの「pflogsumm」を導入する方法を紹介します。pflogsummは、Perlで作られていてPostfixのmaillogの解析してくれるツールです。

どの宛て先のメールが多いか、bounceメールが多いかなど、色々な情報がレポートされます。

pflogsummにインストール

yumでもインストールできますが、Perlで作られたスクリプトで1個のファイルなのでダウンロードしてインストールすることにします

まずは、ダウンロードして解凍して、Perlスクリプトを配置します

wget でダウンロードします
# cd /usr/local/src/
# wget http://jimsun.linxnet.com/downloads/pflogsumm-1.1.3.tar.gz

解凍して、/usr/local/bin に配置します
# tar xzvf pflogsumm-1.1.3.tar.gz
# cp pflogsumm-1.1.3/pflogsumm.pl /usr/local/bin/pflogsumm

インストールはこれで終了です。Perlスクリプトを叩けばレポートが表示されます。

pflogsumm の書式

pflogsumm コマンドの書式はオプションを指定して、メールログのディレクトリを指定します

書式:pflogsumm (オプション) (メールログ)

下記の場合は、maillogから昨日のメールのサマリーを表示しています

# /usr/local/bin/pflogsumm –d yesterday /var/log/maillog

Grand Totals
------------
messages

      8   received
      4   delivered
      0   forwarded
      0   deferred
      8   bounced
      0   rejected (0%)
      0   reject warnings
      0   held
      0   discarded (0%)

  18672   bytes received
  16144   bytes delivered
      2   senders
      2   sending hosts/domains
      1   recipients
      1   recipient hosts/domains


Per-Day Traffic Summary
-----------------------
    date          received  delivered   deferred    bounced     rejected
    --------------------------------------------------------------------
    Feb 26 2017         2          1          0          2
    Feb 27 2017         2          1          0          2
    Feb 28 2017         2          1          0          2
    Mar  1 2017         2          1          0          2

pflogsummオプション

コマンドラインオプション

色々オプションがありますが、私が使用したオプションだけ下記の表示まとめました。レポートを全て表示すると長くなるので、ホスト名やユーザーの集計などはTOP10までとかに設定するのに使用しています

オプション 説明
-d today 今日のレポート
-d yesterday 昨日のレポート
-h ホスト、ドメイン名の集計をTOPXXに限定する。0なら限定しない。
-h 10ならホスト、ドメイン名のTOP10を表示します
-u ユーザーの集計をTOP に限定する。0なら限定しない。
-u 10ならユーザーのTOP10を表示します
–no_bounce_detail
–no_deferral_detail
–no_reject_detail
それぞれ、bounce、deffer、rejectされた詳細を表示しない。
–no_no_msg_size メッセージサイズが無いものについてのレポートを表示しない。

 

pflogsummのCron登録

pflogsumをCronに登録して解析結果をメールするように設定します。
下記の場合は前日分のレポートを特定のアドレス(aaaa@example.com)に送信しています。
またhostnameコマンドも叩いているのでサーバーのホスト名を件名に表示するようにしています

# crontab -e
30 1 * * * /usr/local/bin/pflogsumm -d yesterday /var/log/maillog | mail -s "Maillog Report [`hostname`]" aaaa@example.com

 

Linuxpostfix

Posted by admin