- PR -

ログローテイトはするが、ファイルにログを吐き出さない(FreeBSD:newsyslog.conf)

投稿者投稿内容
RUNNER_haru
会議室デビュー日: 2002/04/03
投稿数: 5
投稿日時: 2003-11-11 16:46
SIGUSR1を入れてテストしたところ
newsyslog.confのエラーが以下のようにでました。
newsyslog: illegal pid file or signal number in config file:
〜(省略) 640 7 * @T01 Z SIGUSR1

引用:

してみると、pid が正しく取得できていないのではないかと
思うのですが...
/var/run/httpd.pid というファイルは実際に存在していますか?


/var/run/httpd.pid は、存在しています。

引用:

存在していた場合、「ファイルの中身」と「psコマンドで表示される
apacheの親プロセスのID」は一致していますか?
おそらく、違うのではないかと。


はい、確かに違っていました。
↓↓↓↓↓↓↓↓↓↓
psコマンドの入れ方が間違っていました。
ps -ax | grep httpd
で確認したところ、一致していました。

引用:

その場合、httpd.conf をみて PidFile の設定がどうなっているか
確認してみて下さい。


httpd.confでは

<IfModule !mpm_netware.c>
PidFile /var/run/httpd.pid
</IfModule>

となっています。

それなのに、吐き出さないのはなぜなんでしょうか?
ログのサイズダウンだけのためのローテイトならよいのですが、
生ログをWebalizerで解析したいので、困っています。
どうぞよろしくお願いします。

何分、初心者のため変な質問になっているかもしれません。
なにか策があれば、教えてください。お願いします。



[ メッセージ編集済み 編集者: RUNNER_haru 編集日時 2003-11-11 22:52 ]
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2003-11-12 00:13
引用:

〜(省略) 640 7 * @T01 Z SIGUSR1



え〜と、それをやるなら
(省略) Z /var/run/httpd.pid 30
です。

PIDは問題無さそうですねえ。
してみると、httpd が複数のログを書いている関係でしょうか。
ふつうはエラーログとアクセスログ、あるいはそれ以上に
分けているかと思いますが、どう設定されていますか?
newsyslog.conf の中で apache に関する部分すべてを
書いて頂くと、アドバイスを得やすいかと思います。
# ひとによってやり方はいろいろで、newsyslog にあてる
# パッチを作って対処した方もおられるようですが。

ちなみに私はこういう高級な道具は使えないので
mv error_log error_log.old
mv access_log access_log.old
kill -s SIGHUP `cat httpd.pid`
みたいなスクリプトを書いています。
# これでも絶対にログが途切れることなく正しく書かれる
# ことが保証されます。Unixなら。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2003-11-12 00:41 ]
ora
会議室デビュー日: 2003/06/02
投稿数: 15
投稿日時: 2003-11-12 00:19
oraいいます。
FreeBSDで、apacheということのようですが、apache自体の起動は、どのようにしていますか。可能であれば、apacheの起動スクリプトを載せてもらえないでしょうか。
また、newsyslog.confは、ログのはきだしは、制御していないと思います。
ログの吐き出しは、syslog.conf、及び各APの設定ファイル、起動ファイルです。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2003-11-12 00:40
引用:

また、newsyslog.confは、ログのはきだしは、制御していないと思います。


おっと。言われてみれば、そんなことを言ってるように読める
書き方になってました。
引用:

ふつうはエラーログとアクセスログ、あるいはそれ以上に
分けているかと思いますが、どう設定されていますか?
newsyslog.conf の中で apache に関する部分すべてを
書いて頂くと、アドバイスを得やすいかと思います。


というのは、httpd.conf で設定したログファイルすべてを
newsyslog.conf の中でどう扱っていますか、ということです。
ora
会議室デビュー日: 2003/06/02
投稿数: 15
投稿日時: 2003-11-12 11:34
 引用:------------------------------------------------------------------------
  というのは、httpd.conf で設定したログファイルすべてを
  newsyslog.conf の中でどう扱っていますか、ということです。
----------------------------------------------------------------------------

ぽんすさん、失礼しました。私の受け取り違いでした。
テスト環境で、ちょっと検証してみます。
ora
会議室デビュー日: 2003/06/02
投稿数: 15
投稿日時: 2003-11-12 21:16
oraです。
私の持っている検証環境で、Nameベースのバーチャルホストで、検証してみました。
ログファイルをバーチャルホストに分けた場合、分けずに1ファイルにした場合のいずれも、
ログのローテーション、書き出しができてしまいました。
newsyslog.confの設定は、RUNNER_haruさんと同じように
usr/local/apache/logs/error_log 644 4 * 24 Z /usr/local/apache2/logs/httpd.pid
としたんですが。

う〜ん、何が違うんだろう。
RUNNER_haru
会議室デビュー日: 2002/04/03
投稿数: 5
投稿日時: 2003-11-13 21:36
ぽんずさん、oraさん、丁寧な回答ありがとうございます。

引用:

ふつうはエラーログとアクセスログ、あるいはそれ以上に
分けているかと思いますが、どう設定されていますか?
newsyslog.conf の中で apache に関する部分すべてを
書いて頂くと、アドバイスを得やすいかと思います。


Nameベースのバーチャルホスト設定で
エラーログとアクセスログを設定しています。

引用:

oraさんの書き込み (2003-11-12 21:16) より:
oraです。
私の持っている検証環境で、Nameベースのバーチャルホストで、検証してみました。
ログファイルをバーチャルホストに分けた場合、分けずに1ファイルにした場合のいずれも、
ログのローテーション、書き出しができてしまいました。
newsyslog.confの設定は、RUNNER_haruさんと同じように
usr/local/apache/logs/error_log 644 4 * 24 Z /usr/local/apache2/logs/httpd.pid
としたんですが。

う〜ん、何が違うんだろう。



はい、私の方もこのように現在設定しています。
ここ2,3日、午前0時にローテイトするログが、今までまったく書き出さなかったものが
1時過ぎから書き出されるようになっています。
もう少し、様子をみようと思いますが、
アクセスが多いサイトだけに1時間遅れてログが吐き出されるのは
納得いかないのですが、いぜんよりなんとかましになってきました。

アクセスログばかり検証してきましたので、
エラーログに関してもnewsyslog.confに設定してみて
2,3日様子をみて見ます。

また、ご報告させて頂きます。

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