6.12 プログラムの再起動コマンドの作成(プログラム管理機能使用時)

プログラムの再起動コマンドは,モニタモードのプログラム管理機能で監視するUAPの障害時に,UAPを再起動するためのコマンドです。

ここでは,プログラムの再起動コマンドが呼び出されるタイミング,およびプログラムの再起動コマンドの作成方法について説明します。

<この節の構成>
(1) プログラムの再起動コマンドが呼び出されるタイミング
(2) プログラムの再起動コマンドの作成方法

(1) プログラムの再起動コマンドが呼び出されるタイミング

作成したプログラムの再起動コマンドは,HAモニタがスーパユーザの権限で実行します。

プログラムの再起動コマンドは,次の場合に呼び出されます。

(2) プログラムの再起動コマンドの作成方法

プログラムの再起動コマンドには,UAPを停止したあとにUAPを起動する処理を記述したシェルなどを指定します。必要に応じて,シェルの中でプログラムの再起動に必要な動作環境を設定してください。また,UAP障害時にcoreファイルを取得し,調査できるようにするため, UAPを起動する処理の前に「ulimit -c unlimited」を追加してください。カーネルパラメタのデフォルト値では,coreファイルを取得しない設定となっています。

なお,UAPを停止する処理では,UAPがプロセスを生成する場合は,生成したプロセスの停止処理も記述してください。UAPを起動する処理では,HAモニタがプログラムの再起動コマンドに指定されたシェルの完了を待つため,UAPを起動する処理の実行後に,シェルがリターンするようにしてください。

プログラムの再起動コマンドでAPIを発行するUAPを再起動する場合は,UAPの環境変数にプログラム名を設定する必要があります。UAPの環境変数については,「6.13.2 UAPの環境変数の設定」を参照してください。

作成したプログラムの再起動コマンドは,モニタモードのプログラム対応の環境設定のrestartcommandオペランドに指定します。また,プログラムの再起動コマンドが起動してから終了するまで,およびhamon_patrolstart関数の発行までのタイムアウト時間を,モニタモードのプログラム対応の環境設定のrestart_timeoutオペランドで指定できます。

HAモニタはrestartcommandオペランドに指定したプログラムの再起動コマンドの戻り値を評価します。戻り値ごとのHAモニタの処理を,次に示します。