メールのログ解析とバーチャルドメインを導入しよう!
ここでは、Postfixのログ解析ツール(pflogsumm)とバーチャルドメインについて掲載しています。
pflogsummとは…?
pflogsummはPostfixのログを集計、解析してくれるオープンソースのツールです。当日、または前日のログを解析し、メールで送るというのが一般的な使い方のようなので、ここでも例に漏れず、その使い方でいきたいと思います。
pflogsummのインストール
[root@co ~]# yum -y install postfix-pflogsumm
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postfix-pflogsumm.x86_64 2:2.3.3-6.el5 set to be updated
--> Processing Dependency: perl(Date::Calc) for package: postfix-pflogsumm
--> Processing Dependency: perl-Date-Calc for package: postfix-pflogsumm
--> Running transaction check
---> Package perl-Date-Calc.x86_64 0:5.4-1.2.2.1 set to be updated
--> Processing Dependency: perl-Bit-Vector >= 6.4 for package: perl-Date-Calc
--> Processing Dependency: perl(Bit::Vector) for package: perl-Date-Calc
--> Processing Dependency: perl(Carp::Clan) for package: perl-Date-Calc
--> Running transaction check
---> Package perl-Bit-Vector.x86_64 0:6.4-2.2.2.1 set to be updated
---> Package perl-Carp-Clan.noarch 0:5.3-1.2.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
postfix-pflogsumm x86_64 2:2.3.3-6.el5 base 50 k
Installing for dependencies:
perl-Bit-Vector x86_64 6.4-2.2.2.1 base 182 k
perl-Carp-Clan noarch 5.3-1.2.1 base 22 k
perl-Date-Calc x86_64 5.4-1.2.2.1 base 271 k
Transaction Summary
================================================================================
Install 4 Package(s)
Upgrade 0 Package(s)
Total download size: 524 k
Downloading Packages:
(1/4): perl-Carp-Clan-5.3-1.2.1.noarch.rpm | 22 kB 00:00
(2/4): postfix-pflogsumm-2.3.3-6.el5.x86_64.rpm | 50 kB 00:00
(3/4): perl-Bit-Vector-6.4-2.2.2.1.x86_64.rpm | 182 kB 00:00
(4/4): perl-Date-Calc-5.4-1.2.2.1.x86_64.rpm | 271 kB 00:00
--------------------------------------------------------------------------------
Total 1.4 MB/s | 524 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-Carp-Clan 1/4
Installing : perl-Bit-Vector 2/4
Installing : perl-Date-Calc 3/4
Installing : postfix-pflogsumm 4/4
Installed:
postfix-pflogsumm.x86_64 2:2.3.3-6.el5
Dependency Installed:
perl-Bit-Vector.x86_64 0:6.4-2.2.2.1 perl-Carp-Clan.noarch 0:5.3-1.2.1
perl-Date-Calc.x86_64 0:5.4-1.2.2.1
Complete!
pflogsummの動作確認
実際、どのような動作をするか実行してみましょう。今回は、昨日分のログを集計し、解析結果を表示します。
[root@co ~]# pflogsumm -d yesterday --problems_first /var/log/maillog

pflogsummの自動実行
1日1回ログ解析を行い、root宛てにメールを送るように設定します。メールの宛先を変更する場合はスクリプト中のrootを他のユーザ名に変更してください。
スクリプトはCentOSで自宅サーバー構築様のものを参考にさせて頂きます。
[root@co ~]# vi /etc/cron.daily/pflogsumm_report
#!/bin/bash
MAILLOG=`mktemp`
for log in `ls /var/log/maillog-*|sort`
do
cat $log >> $MAILLOG
done
cat /var/log/maillog >> $MAILLOG
REPORT=`mktemp`
pflogsumm --problems_first --verbose_msg_detail --mailq -d yesterday $MAILLOG > $REPORT
cat $REPORT | mail -s "`head -1 $REPORT` in `uname -n`" root
rm -f $MAILLOG $REPORT
[root@co ~]# chmod +x /etc/cron.daily/pflogsumm_report
バーチャルドメインとは…?
1台のサーバで複数のドメインを使う方法の1つです。複数のドメインを所持している場合、どのドメインからでもアクセス先が同じ状態にしたり、逆にドメインによって分けたりすることが可能です。
今回はkimamabi.dip.jp宛てのメールをkimamabi.mydns.jpで受信できるよう設定したいと思います。
バーチャルドメインの設定
まず、Postfixの設定ファイル(main)の最後尾に以下を追記します。
[root@co ~]# vi /etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
続いて、バーチャルドメインの設定を行います。
kimamabi.dip.jp宛てのメールをkimamabi.mydns.jpで全て受信する場合、以下のように記述します。
[root@co ~]# vi /etc/postfix/virtual
kimamabi.dip.jp anything
@kimamabi.dip.jp @kimamabi.mydns.jp
もし、異なるユーザ名で受信をしたい場合は以下のように記述します。
[root@co ~]# vi /etc/postfix/virtual
kimamabi.dip.jp anything
dammy@kimamabi.dip.jp koro
今回の例は、dammy@kimamabi.dip.jp宛てのメールをkoroというユーザで受信するようにしています。
宛先となるdammyユーザは実際に存在する必要はありませんが、配送先のkoroユーザは必要になります。
Postfixの再起動
設定ファイルを反映するため、Postfixを再起動します。
[root@co ~]# postmap /etc/postfix/virtual
[root@co ~]# /etc/init.d/postfix restart
postfix を停止中: [ OK ]
postfix を起動中: [ OK ]
今回新しく登場したコマンド
[広告]

トップページ
Rocky Linux 8
CentOS 7
Scientific Linux 6
CentOS 5
○準備
○VMware Player
○Hyper-V(Win Proのみ)
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○ブログシステム
○その他
ブログ
[広告]