qlogtoolでメールログ監視

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

ということでqlogtoolsというものを使ってチェックしてみます。

事前準備

cd /usr/local/src
wget http://untroubled.org/qlogtools/qlogtools-3.1.tar.gz
tar zxvf qlogtools-3.1.tar.gz
cd qlogtools-3.1
vi qfilelog.c

extern int errno;

#include <errno.h>

make
cp tai64n2tai /usr/local/bin

次にqlogselectってのを拾ってくるのですが、
なんかアクセスできないので、ミラーをしておきます。

cd /usr/local/bin
wget http://ftp.momo-i.org/pub/mail/qlogselect
chmod 755 qlogselect

次にqlogtoolsで使うためにqmailanalogをとってきます

cd /usr/local/src
wget http://cr.yp.to/software/qmailanalog-0.70.tar.gz
tar zvxf qmailanalog-0.70.tar.gz
cd qmailanalog-0.70

vi error.h

extern int errno;

#include <errno.h>

make
make setup check

そしたらようやくスクリプト作成です。

/usr/local/sbin/qlog

#!/bin/sh
MAILTO= webmaster@example.com このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にしてください
MAILFROM= webmaster@example.com このメールアドレスは、スパムロボットから保護されています。アドレスを確認するにはJavaScriptを有効にしてください
export PATH="$PATH:/usr/local/qmailanalog/bin:/var/qmail/bin"
tmpdir=/tmp/qmail-cron.$$.$RANDOM

mkdir $tmpdir
pushd $tmpdir >/dev/null

s_year=`date -d '1 day ago' +%Y`
s_month=`date -d '1 day ago' +%m`
s_day=`date -d '1 day ago' +%d`
e_year=`date +%Y`
e_month=`date +%m`
e_day=`date +%d`

start="$s_year-$s_month-$s_day"
end="$e_year-$e_month-$e_day"

LOGDIR=/var/log/qmail

cat "$LOGDIR"/{"@",cur}* \
| tai64n2tai \
| /usr/local/bin/qlogselect start $start end $end \
| matchup >logfile 5>/dev/null

for ana in zoverall zddist zdeferrals zfailures zrhosts zsuids zrxdelay; do
echo "" >>result
echo "-----------Result of $ana------------" >>result
$ana 2>/dev/null <logfile >>result
done
rm -f logfile

(echo "To: $MAILTO"
echo "From: $MAILFROM"
echo "Subject: mailstats for $s_year-$s_month-$s_day"
echo ""
cat result )| qmail-inject -f $MAILFROM
rm -f result
popd >/dev/null
rm -rf $tmpdir
chmod 755 /usr/local/sbin/qlog

そしたらcronに毎日報告するように設定します。

30 0 * * * /usr/local/sbin/qlog 2>&1 > /dev/null

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.