MochiWeb Web サーバー、いくつかのカスタム Erlang/OTP アプリケーション、および次のいくつかの非ネイティブ コンポーネントで構成される Erlang/OTP システムを構築しています。
- MochiWeb Web サーバーの状態と永続データ (ユーザー、アカウントなど) の両方を格納する CouchDB データベース
- 他のいくつかのエンティティ (注文、アカウントなど。クライアントの要件: CouchDB に移行することはできません。データはそのまま使用する必要があります) を格納するためのレガシー PostgreSQL データベース。
- システムのユーザーに電話通知を提供するアスタリスク サーバー。
高レベルのアップタイムと可用性を実現したいと考えているため、システムの Erlang/OTP 以外の要素を監視する最善の方法を知りたいと考えています。基本的に、システムの各要素を監視、監視し、必要に応じて再起動したいと考えています。Erlang/OTP アプリケーションでは簡単に実現できますが、Erlang 以外のコンポーネントでそれを行う方法がわかりません。
それらを Erlang/OTP アプリケーションとしてラップし、OTP 監視ツリーに含める必要がありますか?
それとも、Erlang/OTP システムの Erlang/OTP 以外のコンポーネントを監視および監督するために、サードパーティのソフトウェア ツールを使用する必要がありますか?
それを行うための最もよく知られている方法は何ですか?