Railsサーバーが重大なクラッシュやプロセスの強制終了後に自動再起動されるようにするための一般的なアプローチは何ですか? ハングしているプロセスにどのように対処しますか? 実稼働サーバーで nginx とシンを実行しています。それらの間に何かを配置することをお勧めしますか? それとも別のサーバーを使用していますか?
2 に答える
2
まず:
プロセスのハングまたは強制終了の原因を特定する必要があります。これらは正常な動作ではなく、どこかに障害があることを示しています。
探す:
- クラッシュ前のメモリ不足または高負荷 - 構成の問題を示します。
- 新しすぎるnginxのバージョン。
- 仮想化を行っている場合、これにより Linux カーネルでいくつかの微妙な問題が発生し、segfault が発生する可能性があります。EC2 を使用している場合は、Amazon Linux を使用してください。Ubuntu サーバーは、この目的にはあまりにも最先端です。
再起動を行うには、monit を使用することをお勧めします。これは、迅速かつ簡単で信頼性が高く、通常の方法です。
最後に、Pingdom などを使用して外部監視もセットアップすることをお勧めします。monit でさえ、ハードウェア障害などのすべてのタイプの障害をキャッチできるわけではないからです。
于 2012-05-10T14:50:21.457 に答える
0
アプリケーションのみを監視したい場合は、Centreonで常にNagiosを使用しています。Railsサーバーがダウンしたときにメールアラームを設定できます。監視するすべてのマシンでNRPEを設定する必要があります。
エラーが検出されたら、bashファイルを実行して、ハングしているプロセスを強制終了し、サーバーを自動的に再起動できます。個人的には、クラッシュは何かがうまくいかないことを意味するので、私はそれを決して使用しません。だから私はすべてをチェックするために手動でそれを行います。
ここを見てみてください:http ://www.centreon.com/
于 2012-05-10T14:39:32.350 に答える