6.15.3 待機サーバの監視時に実行するコマンドの作成
待機サーバの監視時に実行するコマンドを作成することで,待機サーバの監視時に,一定間隔で監視コマンドを実行できます。
ここでは,待機サーバの監視時に実行するコマンドについて,呼び出されるタイミング,およびコマンドの作成方法を説明します。
(1) 待機サーバの監視時に実行するコマンドが呼び出されるタイミング
作成したコマンドは,HAモニタがスーパユーザの権限で実行します。
コマンドは,次の場合に呼び出されます。
-
待機系で待機サーバが起動完了した場合
-
待機系で待機サーバが系切り替え可能状態の場合
-
系切り替え待ち状態の場合
(2) 待機サーバの監視時に実行するコマンドの作成方法
次に示す項目を満たすように,コマンドを作成してください。
-
プログラムの監視に必要な動作環境があれば,設定してください。なお,Unit設定ファイルにも環境変数を設定できますが,HAモニタを上書きインストールするとUnit設定ファイルが上書きされます。そのため,シェルの中で動作環境(環境変数)を設定することを推奨します。
待機サーバの監視コマンドを実行した際に引き継がれる環境変数については,「6.14.2 サーバの停止コマンドの作成」の「(2) サーバの停止コマンドの作成方法」を参照してください。
-
SIGTERMシグナルを受信する設定にする。
HAモニタは,待機サーバの正常停止時や監視コマンド実行時のタイムアウト時に対して,SIGTERMシグナルを送信することで監視コマンドを停止します。そのため,SIGTERMを受信できるようにしておいてください。
-
監視コマンドは,無限ループが発生しないように作成する。
監視コマンド内で定期的な監視をするなどによって,監視コマンドが無限ループすると,HAモニタは監視コマンドのスローダウンやハングアップとして検知します。このため,モニタモードの待機サーバにサーバ障害が発生したと判断します。
-
監視コマンドは,監視対象の業務の状態に応じて,次の表に示すEXITコードで必ず終了するように作成する。
表6‒15 監視対象の業務の状態とEXITコードの対応 項番
監視対象の業務の状態
EXITコード
説明
1
正常
0
監視対象が,正常に動作できている場合は,EXITコード0を返してください。HAモニタは,監視対象が正常,または復旧したと判断します。
2
監視失敗
監視エラー
判断不可
1~9
監視コマンドを再実行します。
HAモニタは,サーバ対応の環境設定のsby_ptrlcmd_ex_retryオペランドの指定に従って動作します。
再実行時の実行間隔は,サーバ対応の環境設定のsby_ptrlcmd_ex_interオペランドと同じとなります。
監視対象の監視に失敗したかどうかの判断ができなくなった場合,監視対象の障害かどうかの判断ができなくなった場合など,一時的な失敗をしたときに返却するようにしてください。
3
障害
10~19
監視コマンドを再実行することなく,障害と判断します。
HAモニタは,サーバ対応の環境設定のsby_servexec_retryオペランドに従い動作します。
監視コマンドを再実行することなく,障害と判断できる場合などに返却するようにしてください。
4
20~29
監視コマンドを再実行することなく,待機サーバのサーバ障害と判断し,待機サーバを停止します。
HAモニタは,サーバ対応の環境設定のsby_servexec_retryオペランドの指定を無視して,即時に待機サーバを停止して系切替しないようにします。
待機サーバを再起動しても,動作できないような恒久的な障害(ディスク障害など)と判断できる場合などに返却するようにしてください。
5
-
30~49
HAモニタ予約番号のため,使用しないでください。
6
上記以外
監視コマンドを再実行します。
HAモニタは,サーバ対応の環境設定のsby_ptrlcmd_ex_retryオペランドの指定に従って動作します。
再実行時の実行間隔は,サーバ対応の環境設定のsby_ptrlcmd_ex_interオペランドと同じとなります。
監視対象の監視に失敗したかどうかの判断ができなくなった場合,監視対象の障害かどうかの判断ができなくなった場合など,一時的な失敗をしたときに返却するようにしてください。