Apache が SIGTERM を受信すると停止するのはなぜですか?

Apache が SIGTERM を受信すると停止するのはなぜですか?

静的コンテンツ用に nginx を実行するサーバーがあり、その背後には Apache があり、php と python コードを実行しています。

1 日に 1 回程度、Apache が終了し、Nginx が 502 Bad Gateway エラーを返すようになります。ログで確認できるのは、Apache が SIGTERM を受信したということだけで、その他の詳細はわかりません。

[mpm_prefork:notice] [pid 11811] AH00169: SIGTERM をキャッチしました。シャットダウンします

ディスク容量が不足した以外はメンテナンスなしで、しばらく正常に動作しています。数か月前に SSL プロキシの設定を行いました。Debian Jessie を実行しています

答え1

すべてのkillシステムコールを -S kill audit.rulesファイルに記録するには、auditdを使用します。監査を使用して特定の SYSCALL を監視するにはどうすればよいでしょうか?ログ エントリには、すべての kill の pid、uid、および exe が含まれます。httpd がシャットダウンする直前のエントリを見つけます。

これは、正しく再起動されていないログローテーション スクリプトであると推測します。

答え2

SIGTERM をキャッチしました

これは、システムが Apache に終了コマンドを送信していることを意味します。Apache を停止/再起動する不正な cron ジョブを探すか、sarログを調べてリソースの問題が発生していないか確認します。メモリの問題が発生すると、サーバーは自動的にプロセスを強制終了して、サーバー自体を存続させます。Apache は、通常、メモリの問題でこのように強制終了されるものの 1 つです。

関連情報