| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「AWStats」を用いて「Postfix」のログ解析を行います。
なお、「Apache」の設定、
SMTPサーバ(Postfix)の設定、
Webアクセスログ解析(AWStats)は完了済みとします。
メールのログを変換する為のツールをインストールします。
なお、「CentOS5.0」では「Awstats」インストール時にインストールされるので必要ありません。
[root@CentOS ~]# wget http://jaist.dl.sourceforge.net/sourceforge/awstats/awstats-6.5.tar.gz <= 「AWStats」のダウンロード [root@CentOS ~]# tar xzf awstats-6.5.tar.gz <= ダウンロードしたファイルの展開 [root@CentOS ~]# cp -r awstats-6.5/tools /var/www/awstats/ <= メールログ変換ツールのコピー [root@CentOS ~]# rm -rf awstats-6.5* <= ダウンロードしたファイルの削除 |
新規に設定ファイルを作成します。
なお、「CentOS4.1」と「CentOS5.0」でログ変換スクリプトのインストール場所を変えていますので、その部分が違っています。
[root@CentOS ~]# vi /etc/awstats/awstats.postfix.conf <= 設定ファイルの作成 LogFile="perl /var/www/awstats/tools/maillogconvert.pl standard < /var/log/maillog |" <= 「maillogconvert.pl」のパスとログファイルのパスを指定(「CentOS4.1」の場合) LogFile="perl /usr/bin/maillogconvert.pl standard < /var/log/maillog |" <= 「maillogconvert.pl」のパスとログファイルのパスを指定(「CentOS5.0」の場合) LogType=M LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd" SiteDomain="crimson-snow.net" <= ドメインを指定 HostAliases="localhost 127.0.0.1 REGEX[myserver\.com$]" DNSLookup=1 DirData="/var/www/awstats/postfix" <= AWStatsが保持する分析結果等のファイルを格納するディレクトリを指定 (絶対パスもしくはawstats.plからの相対パス) DirCgi="/awstats" <= awstats.plが格納されているディレクトリを指定 (絶対URLもしくはWWWサーバのルートディレクトリからの相対URL) DirIcons="/awstats/icon" <= アイコンファイルが格納されているディレクトリを指定 (絶対URLもしくはWWWサーバのルートディレクトリからの相対URL) EnableLockForUpdate=0 AllowAccessFromWebToFollowingIPAddresses="" AllowToUpdateStatsFromBrowser=1 Lang="jp" LevelForBrowsersDetection=0 LevelForOSDetection=0 LevelForRefererAnalyze=0 LevelForRobotsDetection=0 LevelForWormsDetection=0 LevelForSearchEnginesDetection=0 LevelForFileTypesDetection=0 ShowMenu=1 ShowSummary=HB ShowMonthStats=HB ShowDaysOfMonthStats=HB ShowDaysOfWeekStats=HB ShowHoursStats=HB ShowDomainsStats=0 ShowHostsStats=HBL ShowAuthenticatedUsers=0 ShowRobotsStats=0 ShowEMailSenders=HBML ShowEMailReceivers=HBML ShowSessionsStats=0 ShowPagesStats=0 ShowFileTypesStats=0 ShowFileSizesStats=0 ShowBrowsersStats=0 ShowOSStats=0 ShowOriginStats=0 ShowKeyphrasesStats=0 ShowKeywordsStats=0 ShowMiscStats=0 ShowHTTPErrorsStats=0 ShowSMTPErrorsStats=1 |
ディレクトリの作成
AWStatsが保持する分析結果等のファイルを格納するディレクトリを作成します。
[root@CentOS ~]# mkdir /var/www/awstats/postfix |
オーナの変更
「AWStats」の設定で AllowToUpdateStatsFromBrowser を 1 にしましたが、 これは、出力結果に更新ボタンを設置し、ブラウザから最新のログの情報に更新します。[root@CentOS ~]# chown apache /var/www/awstats/postfix <= 分析結果等の格納先のオーナをapacheに変更 [root@CentOS ~]# chmod 644 /var/log/maillog <= ログファイルのパーミッションを変更 |
[root@CentOS ~]# /var/www/awstats/awstats.pl -config=postfix -update |
http://サーバのIPアドレス/awstats/awstats.pl?config=postfix
でアクセスできれば問題ありません。
上記のままの設定で問題ありませんが、アクセスするたびにCGIスクリプトが実行されますので、
表示が遅く、サーバにも負荷がかかります。
そこで、出力結果をHTML化します。
[root@CentOS ~]# /var/www/awstats/awstats.pl -config=postfix -output -staticlinks \ > /var/www/awstats/postfix.html |
http://サーバのIPアドレス/awstats/postfix.html
でアクセスできれば問題ありません。
HTML化の自動実行
「Postfix」のログローテーションに合わせて実行するようにします。
また、ログ解析は maillog のみ行う為、その他のログローテーション時には実行しないようにします。
[root@CentOS ~]# vi /etc/logrotate.d/syslog <= 設定ファイルの編集
access_log のみスクリプトを実行するように以下を追加
/var/log/maillog {
prerotate
/var/www/awstats/awstats.pl -config=postfix -update > /dev/null
/var/www/awstats/awstats.pl -config=postfix -output -staticlinks > /var/www/html/postfix.html
endscript
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
ここまで
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
↓
/var/log/messages /var/log/secure /var/log/spooler /var/log/boot.log /var/log/cron { <= 変更
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
|