- PR -

qmailanalogでデータがカウントされません

投稿者投稿内容
qora
会議室デビュー日: 2002/06/26
投稿数: 13
投稿日時: 2002-08-04 22:30
qoraと申します。
連載をもとにqmail1.03のインストールを続けてきました。
第8回のウィルス対策を除いてこれまで、試行錯誤しながらも
何とか運用しています。
本連載はLinuxを初歩から始めたものにとって大変参考になり
感謝しています。
さて第10回の「ツールを使った効果的なログ分析」以下を参考に
qmailanalogをインストールしました。
analog.shで躓きましたが、過去ログを参考にqlogtoolsを
インストールして「command not found」はクリアしましたが
レポート結果が次のようになります。


Completed messages: 0
Total delivery attempts: 0


原因がわかりません。ご教示ください。
よろしくお願いいたします。
長文申し訳ありませんが analog.sh を下記に添付します
これから
#!/bin/sh
MAILTO=abcd@example.com
MAILFROM=postmaster@example.com
export PATH="$PATH:/root/bin:/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 zfailures zrhosts zdeferrals zddist; 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
これまで
なお、LOGDIR=/var/log/qmail下にはcurrentファイルが作成されています。
tai64nlocal < current でLOGが表示されます。
長文になり申し訳ございません。よろしくお願い申し上げます。
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2002-08-07 13:02
こんにちは、藤井と申します。

引用:

qoraさんの書き込み (2002-08-04 22:30) より:

qoraと申します。
連載をもとにqmail1.03のインストールを続けてきました。
第8回のウィルス対策を除いてこれまで、試行錯誤しながらも
何とか運用しています。
本連載はLinuxを初歩から始めたものにとって大変参考になり
感謝しています。
さて第10回の「ツールを使った効果的なログ分析」以下を参考に
qmailanalogをインストールしました。
analog.shで躓きましたが、過去ログを参考にqlogtoolsを
インストールして「command not found」はクリアしましたが
レポート結果が次のようになります。


Completed messages: 0
Total delivery attempts: 0


原因がわかりません。ご教示ください。
よろしくお願いいたします。



題名が違うので、分かりにくいとは思いますが、似た様な話題がすでにあります。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1701&forum=10&6

今回のご質問内容もこの内容と同じような気がします。一度ご覧になっていただけないでしょうか?

qora
会議室デビュー日: 2002/06/26
投稿数: 13
投稿日時: 2002-08-07 16:22
藤井さん有難うございます。早速ご指摘のスレッドを確認しました。
やいばさんの場合は、プロンプト上での実行は解析結果が表示されるようですが
私の場合、プロンプト上での実行も解析されません。

cd /usr/local/qmailanalog/bin/
./analog.sh
の方法ですが・・・
また、analog.sh のexport PATH= に /usr/local/bin を加えた結果も同じです。

crontab -e で
01 0 * * * /usr/local/qmailanalog/bin/analog.sh 2>/tmp/qmailanalog-error.log
と変更しましたが、このときの即時 cron 実行のコマンドがわかりません。
当初の投稿に記しましたがtai64n21のコマンドは/usr/local/bin/に存在します。
よろしくお願いいたします。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-08-07 18:53
「実用qmailサーバー運用・管理術」を担当させて頂いております鶴長です。
1度、私の方で確認させて頂きたいと思うのですが、どうしても手が離せ
ない状況のため、今しばらくお時間を下さいませ。
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2002-08-08 11:48
こんにちは、藤井です。

引用:

やいばさんの場合は、プロンプト上での実行は解析結果が表示されるようですが
私の場合、プロンプト上での実行も解析されません。

cd /usr/local/qmailanalog/bin/
./analog.sh
の方法ですが・・・
また、analog.sh のexport PATH= に /usr/local/bin を加えた結果も同じです。



では、解析自体がうまくいっていないということですね。ぼく自体は今はqmail使っていなく、かつこの連載を試していないので、具体的なアドバイスができません。すみません。というのもエラーメッセージがわからないと客観的に何が悪いのかわからないからです。

鶴長さん、お忙しいところをせかしている意味ではないので、そう取らないで欲しいのですが、

たとえば、連載のanalog.shの

27 for ana in zoverall zddist zdeferrals zfailures zrhosts
zsuids zrxdelay; do
28 echo "" >>result
29 echo "-----------Result of $ana------------" >>result
30 $ana 2>/dev/null <logfile >>result
31 done

の部分でもエラーメッセージを捨ててるじゃないですか。前回のcronでやるとうまく行かないというスレッドができたときもそうですが、エラーメッセージを捨てないタイプを提示して、うまくいったときはこうしてね、というやり方にするのはいかがでしょうか?

結局このままだと鶴長さんもエラーの原因を特定するのは難しいと思います。今の段階ではanalogにうまくログが渡されてなさそうだ、位しかわかりませんから。

このことは今回の連載だけではなく、全体的にお願いしたいことです。LinuxというかUNIX全般に言えることですが、環境によって微妙な違いがありますから、このようなことは十分起こりうることです。

すべての環境ですべてうまく行くようなものを作ろうとするより、エラーが出たらこう対処してね、というのが書いてあって、ユーザーが自分で対応できるのが望ましいと思います。そのユーザーのスキルアップに繋がると思いますし。

追加の提案ですが、エラーメッセージを/dev/nullに直接捨てるのではなく、とりあえず/tmp/foo/foo_error.logとかにエラーメッセージをリダイレクトをしておいて、それでうまくいったら/dev/nullになっているバージョンを試してね、というのが安全な気がします。


qoraさん、

引用:

crontab -e で
01 0 * * * /usr/local/qmailanalog/bin/analog.sh 2>/tmp/qmailanalog-error.log
と変更しましたが、このときの即時 cron 実行のコマンドがわかりません。
当初の投稿に記しましたがtai64n21のコマンドは/usr/local/bin/に存在します。
よろしくお願いいたします。



cronでうまく行かないというスレッドでも書きましたが、そのまま実行しても環境変数の違いなどで結局同じ結果を出そうとすると難しいです。素直に実行されるのを待ったほうがいいと思います。

man 5 crontab
をやって見てください。冒頭の部分でその辺の記述があります。

[ メッセージ編集済み 編集者: ふじい 編集日時 2002-08-08 11:50 ]
qora
会議室デビュー日: 2002/06/26
投稿数: 13
投稿日時: 2002-08-08 15:51
藤井さん有難うございます。
お忙しいところ申し訳ありません

crontab -e で書き直した後cronの結果を待ちましたが、
受け取ったメールには変化ありませんでした。

また、エラーログには

/usr/local/qmailanalog/bin/qlogselect: line 1: syntax error near unexpected token `Final//EN">'
/usr/local/qmailanalog/bin/qlogselect: line 1: `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'
と表示されますが、関連があるのでしょうか?

よろしくお願いいたします。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-08-10 08:05
鶴長です。
ようやく「実用qmail....」第11回分の提出が終わり、一息つかせて
頂いております。

> また、エラーログには
> /usr/local/qmailanalog/bin/qlogselect: line 1: syntax error near unexpected token `Final//EN">'
analog.shをブラウザーを介してダウンロードされたと思うのですが、
その際、1度ブラウザーに表示したものを HTML 形式で保存されてい
ないでしょうか。再度、
http://www.atmarkit.co.jp/flinux/rensai/qmail10/analog.sh
をダウン度ロードする際に、上記のアドレスを右クリックし、「ファ
イルとして保存」・「名前を付けて保存」で再取得した後もので実行
してみてください。


> 鶴長さん、お忙しいところをせかしている意味ではないので、そ
> う取らないで欲しいのですが、たとえば、連載のanalog.shの
.....
お気遣いありがとうございます。連載の中で説明しきれなかったこと
を、このメッセージボードを介して補足させて頂ければと考えており
ますので、こうした「動作しません」といったメッセージに対しては
責任を全うしたいなと考えています。標準出力へのエラーメッセージ
の吐き出しを抑制している件については、今後補足に勤めたいと思い
ます。とりわけ第12回では Tips をまとめるつもりでいますので、そ
の場でまず、フォローさせて頂きたいと思います。




qora
会議室デビュー日: 2002/06/26
投稿数: 13
投稿日時: 2002-08-10 22:36
内田です。
鶴長さんお忙しいところまことに申し訳ありません。

ご指摘のとおりqlogselectを確認したところ、HTML形式で保存されていました。再度ダウンロードして、/usr/local/qmailanalog/bin/に保存しなおしました。
このディレクトリにファイルのあることを確認し、./analog.sh を実行したところ、

./analog.sh: /usr/local/qmailanalog/bin/qlogselect: bad interpreter: そのようなファイルやディレクトリはありません

としかられてしまいました。当然送られたメールには

Completed messages: 0
Total delivery attempts: 0

と表示されます。ログの解析がされていないと思いますが、原因がわかりません。
multilog の取得はされているようです。
(連載でこの後記載されているログのグラフ化は正常に表示されていますので)

よろしくお願いいたします。

スキルアップ/キャリアアップ(JOB@IT)