runit を monit と組み合わせて使用​​する意味は何ですか?

runit を monit と組み合わせて使用​​する意味は何ですか?

monit を runit と組み合わせて使用​​している人がたくさんいます。これは冗長ではないでしょうか。runit も使用する意味は何でしょうか。サービスを扱うときに信頼性が高いからでしょうか (pid ファイルに依存しないため)。

ありがとう!

答え1

聞いたこともなかったそれを実行します、私は重いモニタユーザー...

を見るとrunit、これはinitの代替品であることがわかります。ほとんどのエンタープライズシステムは、デフォルトのままであると主張します。システムV初期化またはアップスタートそれを変更することは一般的な慣行ではないと思います。

ただし、ここでの関係は、runit が Monit を生成し、それが実行中であることを確認する便利な方法を提供しているということかもしれません。おそらく、inittab から Monit を実行するのと似ています。基本的には、「ウォッチャーを監視する」、つまり監視システムを監視することです。

実際には、私は Monit をデーモンとして使用していますが、クラッシュしたり強制終了したりする問題は発生していません。 の魅力は、runit追加の保護機能を備えていることかもしれません。

Monitに関しては、PIDファイルの代わりにプロセス名パターンマッチング

答え2

runit はサービスとログの制御に適しており、また Unix 方式にも忠実です。必要に応じて簡単なパーツを簡単に組み合わせることができます。サービスの開始/停止のチェックやイベント処理も実行できますが、これらすべてを自分でスクリプト化する必要があります。注記:サービスがフォアグラウンドで実行できない場合、runit は機能しません。

monit はサービスを制御するのに適しています (ただし、デーモン化とログ記録を自分で処理する必要があるため、runit ほど適していません)。また、正しい pidfile を公開する自己デーモン化プロセスでも適切に機能します。一方、イベント処理、メモリ リークのチェックなど、サービスを監視するのに非常に優れています。また、サービス状態を参照するための優れたダッシュボード (コマンドライン ベースと Web ベースの両方) と、複数のサーバーからデータを取得するための商用ダッシュボード m/monit も備えています。

この方法で runit+monit を使用すると次のようになります。

  • runit は、サービスの監視、ログ記録、自動再起動などに使用されます。
  • monit は、サービス状態の変更、より拡張されたチェック、および基本的なサービス監視の通知に使用されます。

関連情報