プロセス監視に使用するものとその理由は?
6 に答える
神はメモリをかなりリークするので、VPS に Monit を選択しました。Monit は常に約 2MB の RAM で実行されますが、Ruby 1.8.6 で実行されている私の神のインストールは、約 36 時間で約 60MB の RAM にリークしました。システム監視ツールを監視したくなかったので、God を破棄して Monit に行きましたが、まったく問題はありませんでした。
どちらのソリューションも優れており、どちらにも長所と短所があります。
God の設定ファイルは Ruby で書かれているので、Ruby でできることは基本的に何でもできます。Monit は独自の構文を使用して構成する必要があります。通常は問題ありませんが、より制限的です。とにかく、Ruby で monit config を生成することもできます (展開戦略の一部として)。
また、monit はより少ないリソースを使用するため、VPS を使用している場合や予備のメモリがない場合は、monit を選択することをお勧めします。個人的には、より設定しやすい神の方が好きです。
これは神に関する非常に優れたスクリーンキャストです。このスクリーンキャストへのコメントにも多くのフィードバックがあります。
神には次のような多くの問題があります。
- メモリリーク
- プロセスの停止と再開に問題があります
私はそれについてhttp://blog.bradgessler.com/use-monit-with-rails-not-godで記事を書きました
monitの唯一の実際の問題(問題がある場合)は、大規模なクラスターを実行している場合、構成ファイルが少し冗長になる可能性があることですが、これはテンプレートシステムで解決できます。
専用のUbuntuサーバーで神を実行させることさえ、私はたくさんの問題を抱えていました。やがてあきらめました。MonitはRubyではないかもしれませんが、ほとんど手間がかかりません。
今後この投稿を見つけた人にとっては、神の代わりとしてブルーピルを検討することもできます。神が過去2年間にその記憶の問題に取り組んでくださることを願っていますが、ブルーピルは最初から小さなフットプリントで実行するように設定されていたことを私は知っています。まだmonitほど小さくはありませんが、bluepillのフットプリントは非常に合理的です(私にとっては〜16 MB VIRT、13 MB RES)。
Monit には独自の問題があります。
- 空の PID ファイルは問題を引き起こします。
- 複数レベルの依存関係がある場合、下位レベルの依存関係が開始されると、トップレベルのアプリが開始されます。これは一部のユースケースには最適かもしれませんが、特に柔軟ではありません。
現時点では、かなり面倒だと思います。幸いなことに、「グループ」機能を使用して依存関係をうまく処理できますが、特に満足できるものではありません。とにかく、それはv5.1.1に対する私の見解です