35

いくつかのデーモン (Web アプリ + バックグラウンド タスク) を実行するカスタム セットアップがあります。これらのデーモンを監視し、リソース消費が一定レベルを超えた場合にデーモンを再起動するのに役立つサービスの使用を検討しています。

どちらが優れているかについての洞察をいただければ幸いです。私が理解しているように、supervisordがサブプロセスを開始している間、monitは新しいプロセスをスピンアップします。このアプローチの長所と短所は何ですか?

また、upstart を使用して monit または Supervisord 自体を監視します。webapp のデプロイは、capistrano を使用して行われます。

ありがとう

4

2 に答える 2

31

さらにリソースを監視したい場合は、monit で解決する必要があります。プロセスが実行されているかどうか (可用性) をチェックするだけでなく、monit は、リソースの使用状況 (パフォーマンス、容量の使用状況)、負荷レベル、さらには基本的なセキュリティ チェック (バイナリ ファイルの md5sum、構成ファイルなど) のチェックも実行できます。非常に理解しやすいルールベースの構成があります。また、すぐに使用できる構成が多数あります: http://mmonit.com/wiki/Monit/ConfigurationExamples

Monit は PID ファイルを作成するプロセスを必要としますが、これは欠陥となる可能性があります。プロセスが pid ファイルを作成しない場合、いくつかのラッパーを作成する必要があるためです。http://mmonit.com/wiki/Monit/FAQ#pidfileを参照してください。

一方、Supervisord はプロセスによりバインドされており、プロセス自体を生成します。monit としてリソース ベースのチェックを行うことはできません。ただし、優れた CLIservicectlと Web GUI があります。

于 2012-10-24T09:55:36.817 に答える