qmailanalogでできること

qmailanalogにはmultilogから特定の期間を取り出して解析する機能はついてないので別途以下のような手順を踏む必要がある

/var/log/qmail/ディレクトリ下のログファイルからqlogselectコマンドで指定のログを抽出する

抽出したログをmatchupで整形し、一時ファイルに保存

一時保存したファイルを各スクリプトで必要な情報を収集する

メールで管理者に報告

qmailanalogインストール

http://cr.yp.to/qmailanalog.html から qmailanalog-0.70.tar.gz をゲット

# tar xvfz qmailanalog-0.70.tar.gz

# cd qmailanalog-0.70

# make

# make setup check /usr/local/qmailanalog にインストールされる

↑ qlogselectの準備

# wget http://www.qcc.sk.ca/~charlesc/software/misc/qlogselect

# chmod +x qlogselect

# mv qlogselect /usr/local/qmailanalog/bin ↑ 実行スクリプトの作成 tai64n2tai コマンドがないので http://untroubled.org/qlogtools/ から qlogtools-3.1.tar.gz をゲットする

# tar xvzf qlogtools-3.1.tar.gz

# cd qlogtools-3.1

# make

# mv tai64n2tai /usr/local/qmailanalog/bin

# cd ..

# rm -fr qlogtools-3.1*

# vi /usr/local/qmailanalog/bin/analog.sh

#!/bin/sh MAILTO=mailto@example.com MAILFROM=mailfrom@example.com 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 \ | 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 2日間を対象にするなら「2 days ago」、1週間なら「1 week ago」

# chmod +x /usr/local/qmailanalog/bin/analog.sh

# /usr/local/qmailanalog/bin/analog.sh でメールが MAILTO 宛に届けばOK

crontabで実行するには

# crontab -e 30 4 * * * /usr/local/qmailanalog/bin/analog.sh 2>/dev/null


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS