Linux / Unixでの簡単だが実稼働対応のプロセスモニター[終了]


8

人気のVPSで自分のアカウントの簡単なプロセスモニターを探しています。私はスーパーバイザーとモニターを愛していましたが、私にはやり過ぎに見えます。

何か欲しい

  1. デーモンとして実行されます(したがって、私のVPSアカウントはブート時にそれを開始し、モニター自体がダウンした場合に備えて cronによって「開始」できます)
  2. (スーパーバイザーのような)サブプロセスとしてものを生成することによって、またはtrueまたはfalse(BASH ifステートメントのように)を返すポーリングコマンドを実行することによって監視する
  3. 両方の簡単な使用(必要最小限の構成)とする生産安定 (どういうわけか、いくつかのソフトウェアは、両方の要求を満たすように見えます)
  4. ユーザーモードでの管理されたVPSでの実行、最小メモリ使用量

回答:


2

あなたはプログラムdaemontoolsを探しています。(これが「スーパーバイザー」モニターが意図したものである場合は、残りの私の答えを無視してください。)

daemontoolsはUNIXサービスを管理するためのツールのコレクションです。

superviseはサービスを監視します。サービスを開始し、サービスが停止した場合はサービスを再起動します。新しいサービスのセットアップは簡単です。監視の必要性はすべて、サービスを実行する実行スクリプトを含むディレクトリです。

multilogは、エラーメッセージを1つ以上のログに保存します。オプションで、各行にタイムスタンプを付け、ログごとに、指定されたパターンに一致する行を含めるか除外します。ログを自動的にローテーションして、使用するディスク容量を制限します。ディスクがいっぱいになると、データを失うことなく一時停止して再試行します。

シンプルで柔軟性があり、非常に強力です。基本的な考え方は、実行するサービスごとに、daemontoolsが子プロセス(と呼ばれますsupervise)を起動し、その後、サービスを起動します。supervise サービスの環境変数uid / gidを構成し、サービスの標準入力と標準出力を開いたままにして、信号を送信できるようにします。サービス自体をデーモン化する必要はなく、pidファイルを管理する必要もありません。メインサービスはrootを実行する必要がなく、監視対象サービスのディレクトリをどこにでも置くことができます。


runitdaemontoolsの代わりになるでしょう。また、非常にシンプルで低レベルです。基本的に、プロセスを実行するために必要なのは、いくつかのexecコマンドを含むファイルexec sleep 300だけです。たとえば、実行スクリプトを含むディレクトリからシンボリックリンクを作成する/etc/service/nameと、完了です。
トムバート、2013

1

簡単な答えは、あなたはすでにそれを持っているということです-すべてのUnixシステムには-initと/ etc / inittabがあります。

initの仕事は、inittabにリストされたプロセスを生成し、それらを監視して、終了した場合に再起動することです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.