Hitachi

TPBroker Version 5 トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド


6.2.3 間接起動によるプロセス監視

この方法の場合,プロセス監視定義ファイルへの設定のほか,プロセス起動用,プロセスID取得用,およびプロセス停止用コマンド(バッチファイル,シェルスクリプトでも可)を用意する必要があります。

〈この項の構成〉

(1) 監視方法

間接起動によるプロセス監視方法の概要を次の図に示します。

図6‒2 間接起動によるプロセス監視

[図データ]

(2) 監視対象プロセスの起動方法

プロセス監視定義ファイルに設定されたプロセス起動用コマンドを基に監視対象プロセスを起動します。プロセス起動用コマンドは監視対象にはなりません。複数のプロセスが一つのプロセス起動用コマンドで起動することがあり,一つのプロセス起動用コマンドで起動したプロセスを,一つのプロセスグループとして扱います。

ユーザは,目的の監視対象プロセスを起動するプロセス起動用コマンドをあらかじめ用意する必要があります。

(3) 監視対象プロセスの起動のタイミング

次のどちらかをプロセス監視定義ファイルで選択できます。

(4) 監視対象プロセスの起動成功の判断基準

プロセスID取得用コマンドを発行し,プロセスIDを取得できた場合に起動成功と判断します。このコマンドが正常終了して取得できた複数のプロセスをプロセスグループとして扱います。

ユーザは,プロセスID取得用コマンドをあらかじめ用意しておく必要があります。プロセスID取得用コマンドがプロセス監視定義ファイルに設定されていない場合は,プロセス起動用コマンドとプロセス停止用コマンドによるプロセスの起動および停止だけを行い,プロセスの監視はしません。

(5) 監視対象プロセスの起動失敗時のアクション

プロセス監視定義ファイルに設定された監視対象プロセスに実行権限がないなどの理由でプロセスを起動できない場合,次のどれか一つをプロセス監視定義ファイルで選択できます。

(6) 監視区間

プロセス監視定義ファイルに設定したプロセスID取得用コマンドでプロセスIDを取得してから,プロセス監視定義ファイルに設定したプロセス停止用コマンドを発行するまでの間です。

(7) 監視対象プロセス異常終了時のアクション

次のどれか一つをプロセス監視定義ファイルで選択できます。

プロセスが異常終了した場合,そのプロセスと同一のプロセスグループ内のすべてのプロセスを監視対象から外し,停止します。

ここで,プロセスグループに1つのプロセスしか含まれない場合でも,以下のアクションが発生します。

(8) 連続異常終了についての考慮

起動したプロセスが異常終了を繰り返す場合を考慮して,一定時間内(10分間)に異常終了する回数の最大値をプロセス監視定義ファイルに設定できます。TPBrokerは,異常終了検知後にそのプロセスを再起動することになっている場合でも,プロセスの連続異常終了回数が最大値に達しているときは,プロセスを再起動しません。

(9) 監視対象プロセスの停止方法

プロセス監視定義ファイルにプロセス停止用コマンドを設定している場合は,プロセス停止用コマンドを起動します。プロセス停止用コマンドを設定していない場合は,システムコール(UNIXの場合はkill(),Windowsの場合はTerminateProcess())で直接プロセスを停止させます。

(10) 監視対象プロセスの停止のタイミング

次のどちらかをプロセス監視定義ファイルで選択できます。

(11) 間接起動によるプロセス監視機能が異常終了したときの考慮

ADMデーモンはWindows版の場合はWindowsのサービスとして,UNIX版の場合はinittabに登録されています。ADMデーモンが異常終了した場合,ADMデーモンは自動的に再開始されます。

UNIX版の場合,inittabから起動されたADMデーモンが5分間に11回連続で異常終了すると,プロセス監視機能は使用できなくなります。

監視対象プロセス異常終了時のアクションで「TPBrokerの運用支援機能を終了させる」を選択した場合,そのほかの監視中のプロセスは停止されません。ADMデーモンが再開始したときに,再び監視対象プロセスに参加させます。この場合は,起動中の監視対象プロセスはADMデーモンの子プロセスではありません。そのほかのプロセスも異常終了している場合は,プロセスを再起動します。

(12) プロセス起動用コマンド

プロセス起動用コマンドを作成するには,次に示す条件を満たす必要があります。

ADMデーモンでは,指定されたプロセス起動用コマンドの終了を待ちます。

(13) プロセス停止用コマンド

プロセス停止用コマンドを作成するには,次に示す条件を満たす必要があります。

(14) プロセス強制停止用コマンド

プロセス強制停止用コマンドを作成するには,次に示す条件を満たす必要があります。

(15) プロセスID取得用コマンド

プロセスID取得用コマンドを作成するには,次に示す条件を満たす必要があります。次の条件を満たしていないと,監視対象プロセスのプロセスIDを取得できなくなり,正常にプロセス監視ができない場合があります。

(16) 注意事項

注※

UNIXの場合のシステムコールはkill(),Windowsの場合のシステムコールはTerminateProcess()です。