logrotateとSIGHUPによるApacheの異常終了
logrotateとは
ログ肥大化を防ぐために不要な過去のログを圧縮しディスクのサイズを確保する
再起動後Apacheダウン不具合
あるサーバーで、ログローテーション後に再起動がかかるはずが、正常に再起動せず
Apacheがダウンしたままだった
原因の一因はバグ?!
正常に起動しない一因として、ログローテーション後に「reload」で再起動設定。
reloadはSIGHUPというをシグナルを発行するが、SIGHUPを受けてApacheが異常終了するのは、CentOS 5でapache 2.2+PHP 5.1.6の環境においてたまに生じるバグだった。
対応・対策
logrotate自体を変更するのは、影響範囲が怖い・・・。
異常終了した場合に自動復旧スクリプトを組み込む事にした。
Zabbix(監視ツール)である通知をtriggerとしてアクション設定が必要。
このブログへのコメントは muragonにログインするか、
SNSアカウントを使用してください。