« apache1.3にmysql認証を追加 | Top | 『素数の音楽』 マーカス・デュ・ソートイ (著)  »

2008年11月28日

●色々なデーモンのデバッグモード

色々なサーバーを作っていて一回コンパイルしてconf設定してすぐにちゃんと動けば申し分ないけど、ほとんどの場合は一度では動かない。
confを書き換えたり、オプション変えてコンパイルしなおしたりと試行錯誤が必要になってくる。

で、サーバーが思ったように動かない時に詳細なログ吐かせて何が問題になっているのかを特定するために、各デーモンのデバッグモードでの起動、あるいはデバッグログを出力させての起動が必須になる。

といういことで、各デーモンのデバッグオプションを書いてみた。
バックグラウンドで動かさずにフォアグラウンドで起動して標準出力に大量のログを吐くタイプと、
フォアグラウンドには出ないけど、ログには詳細なデバッグ情報を各タイプと2タイプある。

フォアグラウンドに出ずにログが詳しくなるタイプ
tail -f ログ みたいな感じでリアルタイムにデバッグするのがよい。

postfix
/etc/postfix/master.cf
の該当デーモンに -v をつけるとsysologに大量のログが出力される

smtp inet n - n - - smtpd -v
smtps inet n - n - - smtpd -v

などとしておいて、メールを送信してみる。


dovecot
指定したログに大量のデバッグ情報が出力される。指定していない場合はsyslog。
dovecot.conf

#メールプロセスのデバッグを有効
mail_debug = yes
より詳細なログ出力
auth_verbose = yes
# 認証がらみの詳細なログ出力。
auth_debug = yes
#パスワードと使われたやり取りが記録
#auth_debug_passwords = yes

てな感じでpop3やimapを使ってみる。


以下はフォアグラウンドで動作させて標準出力にログを吐かせるタイプ。

proftpd
/usr/local/proftpd/sbin/proftpd -n -d 10
-nでデーモンでなくフォアグランドで動作させ、-dでデバッグレベルを指定する。
標準出力に詳細なログが垂れ流し…

おまけのbind9
/usr/local/bind/sbin/named -c /etc/named.conf -u named -t /usr/local/bind -d 10 -g
-gでデバッグモードでフォアグラウンドで動く -dでデバッグレベルの指定

しかし、デバッグログを見るたびに、デーモンソフトウェアたちは見えないところで頑張ってるねんなーと思うのであった。

トラックバックURL

 

コメントする

(必須項目:名前とコメント本文)
皆様のコメントを心よりお待ちしております。m(__)m