2000/05/29 村田泰洋
ログファイルは大変膨大なためログを見て異常を発見することはかなり骨の折 れる作業である.そこでメールサーバではログファイルに書かれてある内容を 整理してもう少し見やすい形にするために qmailanalog というログ統計処理 ツールを用いる.
http://www.ne.jp/asahi/cyber/taki/djb/qmailanalog/qmailanalog-0.70.tar.gz
$ gzip -dc qmailanalog-0.70.tar.gz | tar xvf -
$ cd qmailanalog-0.70 $ make $ su or sudo -s # make setup check
/usr/local/qmailanalog/senders の /^m/ { sender = $10"/"$8 の次に行に sub("-return-.*=.*@","@",sender) を挿入します.また, /^d/ { sender = $10"/"$7 の次の行にも sub("-return-.*=.*@","@",sender) を挿入します.
qmailanalog によってログファイルを解析するようなスクリプト(mail.log-ananlog)
に書く. そして /root/mail.log-analog を crontab で毎週日曜日の 07:30 に実行させる.
# crontab -e
エディタが立ち上がって以下の内容を書き込む(一行で).
もしエディタが上がらない場合は環境変数 EDITOR を emacs , vi などで
指定してやる($export EDITOR=vi(emacs)).
=================================================================== 30 7 * * 7 ( echo "To: postmaster@ep.sci.hokudai.ac.jp" ; echo \ "From: blue@ep.sci.hokudai.ac.jp" ; echo "Subject: mail.log" ; echo \ "" ; /root/bin/mail.log-analog ) | /var/qmail/bin/qmail-inject -f \ blue@ep.sci.hokudai.ac.jp ===================================================================
(このページの最後に載せた) mail.log-analog は http://www.ne.jp/asahi/cyber/taki/djb/qmailanalog/qmailanalog.html に書かれたスクリプトの一部を書き換えて専攻メールサーバで使用しているも のです. 本専攻サーバでのログ解析は全体の配送量などを知るのみとしてエラ ーメッセージや各構成員へのメール配送数など細かい解析は自動的に送らない とした(下のスクリプトでコメントアウトした部分を実際に実行するとサイズ の大きなメールとなって結局管理者が読み飛ばしてしまうから).
=========================================================================== #!/bin/sh # # taken from http://www.ne.jp/asahi/cyber/taki/server/qmail/qmailanalog.html # modified by Kyoma TAK and Yasuhiro C. Murata 2000/03/17 # 2000/03/18 # PATH=/usr/local/qmailanalog/bin:/var/qmail/bin:/usr/bin MAILLOG="/var/log/mail.log.0" QMAILLOG="/tmp/qmail.$$" /usr/bin/awk '{$1="";$2="";$3="";$4="";$5="";print}' \ < $MAILLOG | matchup > $QMAILLOG (zoverall < $QMAILLOG #zfailures < $QMAILLOG #zdeferrals < $QMAILLOG #zrecipients < $QMAILLOG #/usr/bin/perl -pe 's/-return-.*=.*@/@/g' < $QMAILLOG | zsenders \ ) /bin/rm -f $QMAILLOG ==========================================================================