QmAnalogReport
From Ollie's Web Site
This is a script to generate files from qmail's logs and report on them though D. J. Bernstein's qmail-analog.
Install qmail-analog source. Patch with errno patch in netqmail-1.05.
Install tai64nfrac source. This program converts tai64 timestamp in qmail's multilog files to "seconds since epoch" format qmail-analog expects.
#!/bin/bash
# uses data from /var/log/qmail/current previously
# processed in qm-analog-process and report on it.
#
# also, generates new data files from logs.
# owa 9/16/06
#
dir="/var/log/qmail"
reportnum="0"
#
echo " +"
echo " +++"
echo " +++++"
echo " +++++++"
echo " +++++++++"
echo " +++++++++++"
echo " +++++++++++++"
echo " +++++++++++++++ "
echo " +++++++++++++++++ "
echo " +++++++++++++++++++ "
echo " +++++++++++++++++++++ "
echo " +++++++++++++++++++++++ "
#
until [ $reportnum -eq 99 ]
do
#
echo "+++++++++++++++++++++++++"
echo " qmail-analog reports "
echo "+++++++++++++++++++++++++"
echo
echo " 1. zddist - distribution of ddelays"
echo " 2. zdeferrals - recap of deferrals"
echo " 3. zfailures - list of failures"
echo " 4. zoverall - overall statistics"
echo " 5. zrecipients - list of recipients"
echo " 6. zrhosts - list of recipient hosts"
echo " 7. zrxdelay - xdelays by recipient"
echo " 8. zsenders - list of senders"
echo " 9. zsendmail - log entries for successful sends"
echo " 10. zsuccesses - reasons for success"
echo " 11. zsuids - recap by uid"
echo
echo " 66. Regenerate data file"
echo
echo " 99. Exit"
echo
echo "Select a report: "
read reportnum
#
case "$reportnum"
in
"1")
/usr/local/qmailanalog/bin/zddist <"$dir"/out3 | less
;;
"2")
/usr/local/qmailanalog/bin/zdeferrals <"$dir"/out3
;;
"3")
/usr/local/qmailanalog/bin/zfailures <"$dir"/out3
;;
"4")
/usr/local/qmailanalog/bin/zoverall <"$dir"/out3
;;
"5")
/usr/local/qmailanalog/bin/zrecipients <"$dir"/out3 | less
;;
"6")
/usr/local/qmailanalog/bin/zrhosts <"$dir"/out3 | less
;;
"7")
/usr/local/qmailanalog/bin/zrxdelay <"$dir"/out3 | less
;;
"8")
/usr/local/qmailanalog/bin/zsenders <"$dir"/out3 | less
;;
"9")
/usr/local/qmailanalog/bin/zsendmail <"$dir"/out3 | less
;;
"10")
/usr/local/qmailanalog/bin/zsuccesses <"$dir"/out3 | less
;;
"11")
/usr/local/qmailanalog/bin/zsuids <"$dir"/out3
;;
"66")
cat "$dir"/{*.s,current} >"$dir"/out1
tai64nfrac <"$dir"/out1 >"$dir"/out2
/usr/local/qmailanalog/bin/matchup <"$dir"/out2 >"$dir"/out3
echo "Done regenerating data file."
;;
esac
#
done

