1

私は現在、仮想サーバー上で大規模なRailsアプリケーションを実行しています。私のセットアップでは、Unicornを使用して、フロントのプロキシサーバーとしてnginxを使用してRailsアプリを提供しています。

ときどき、CPU使用率が長時間ペグされているという通知を受け取ります。次に、ログインしてhtopを使用し、動作の悪いプロセスを見つけてそれを強制終了します。これらの不正なプロセスは、常にユニコーンワーカーのようです。

私が知りたいのは、monitを設定する方法があるかどうか、またはユニコーンのこれらの「子プロセス」を監視し、CPU使用率が高い状態で長時間ハングした場合にそれらを殺す方法があるかどうかです。ユニコーンマスタープロセスはプロセスIDをPIDファイルに書き込むため、監視する方法を知っています。しかし、それは決してマスタープロセスではなく、子だけが不正行為を処理します。

4

2 に答える 2

2

ここで概説されているプロセスを試してみてください: Unicorns go to die: Watching unicorn worker with monit

まだやっていませんが、近いうちにやってみようと思います。

編集: それは本当にうまくいきます。私は現在、そこにあるメソッドを本番環境で使用しています。

于 2011-05-23T15:27:06.010 に答える
1

私は神を使って私のユニコーンを監視しています (それはあまりにもクールに聞こえます)。ここで説明されている GitHub の使用と同じ構成を使用しています。2 番目の Gist には、ユニコーン ワーカーを監視するために記述されたカスタム スクリプトが表示されます。少しハックですが、うまく機能します。このようなものは、ある時点で神に融合されると信じています。しかし、私はしばらくそれについて何も聞いていません。

于 2011-05-23T17:41:07.407 に答える