3.2.1 モニタモードのサーバの監視(実行サーバの場合)
モニタモードのサーバを監視する機能について説明します。この機能を使用すると,モニタモードのサーバにサーバ障害が発生した場合に,自動的に系切り替えができます。系切り替えをするときは,計画系切り替えとして動作します。
なお,モニタモードのプログラム管理機能でUAPを監視する場合は,「3.6 プログラムの制御のための機能(モニタモード)」も参照してください。
(1) サーバの監視方法
モニタモードのサーバでは,アプリケーションや業務の障害を検出する方法は,それぞれのアプリケーションや業務の仕様によって異なります。そのため,アプリケーションや業務が障害になったことをHAモニタに通知するためには,サーバの監視コマンドをユーザが作成する必要があります。
サーバの監視コマンドは,次の方法で指定できます。
-
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する
-
サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定する
次の場合は,サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する方法をお勧めします。
-
アプリケーションや業務のスローダウンを検知して系切り替えしたい場合
-
サーバの監視中に,監視の一時停止・再開がしたい場合
サーバ対応の環境設定のptrlcmd_exオペランド,およびpatrolcommandオペランドで監視コマンドを指定した場合の,障害監視の流れについて説明します。
(a) サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する場合
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する場合,HAモニタはサーバが起動完了すると,指定された実行間隔(サーバ対応の環境設定のptrlcmd_ex_interオペランドの指定値)ごとに監視コマンドを実行し,サーバの監視コマンドの終了結果(EXITコード)を判定します。HAモニタは,EXITコードによって,サーバに障害が発生したと判断します。また,サーバ対応の環境設定のptrlcmd_ex_tmoutオペランドが指定されている場合,サーバ監視コマンド実行時,指定したタイムアウト時間内にコマンドが終了しないと,スローダウンとして検知します。この場合は,サーバにサーバ障害が発生したと判断します。
モニタモードのサーバの障害監視(サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する場合)を,次の図に示します。
- 重要
-
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する場合は,次は指定できません。
-
サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定
-
モニタモードのプログラム管理機能
-
HAモニタによるサーバの監視コマンドの制御についての詳細は,「4.1.4 サーバの監視コマンドの制御」を参照してください。
HAモニタ・サーバ稼働中の設定・動作の変更コマンド(monchangeコマンド)を使用すると,サーバの監視中に監視の一時停止・再開ができます。詳細は,「9.6 monchange(HAモニタ・サーバ稼働中の設定・動作の変更)」を参照してください。
(b) サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定する場合
サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定する場合,HAモニタはサーバの起動完了時に監視コマンドを自動起動し,サーバの監視コマンド自身のプロセスが存在しているかどうかを1秒間隔で監視します。HAモニタはサーバの監視コマンドの終了を検知することによって,サーバに障害が発生したと判断します。
モニタモードのサーバの障害監視(サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定する場合)を,次の図に示します。
HAモニタによるサーバの監視コマンドの制御についての詳細は,「4.1.4 サーバの監視コマンドの制御」を参照してください。
(2) サーバ障害を検出したあとのHAモニタの動作
HAモニタは,サーバ障害を検出すると,次のどれかを実行します。
-
実行サーバを再起動する。
サーバ障害が発生した系で実行サーバを再起動します。再起動の回数は,サーバ対応の環境設定のservexec_retryオペランドで指定できます。
サーバが再起動したあと,一定時間,サーバが正常に稼働していれば,HAモニタはサーバの稼働が安定していると判断し,再起動回数を0にリセットします。サーバの稼働が安定していると判断するまでの時間は,監視コマンドを指定するオペランドによって次のとおり異なります。
-
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定する場合:
サーバ対応の環境設定のptrlcmd_ex_interオペランドに指定した間隔×サーバ対応の環境設定のptrlcmd_ex_retryオペランドに指定した回数
ただし,この間,監視コマンドのEXITコードが0である必要があります。
-
サーバ対応の環境設定のpatrolcommandオペランドで監視コマンドを指定する場合:
サーバ対応の環境設定のretry_stableオペランドに指定した時間
-
-
系切り替えをする。
次に示すどれかの場合,実行サーバを停止させ,待機サーバへの切り替えを開始します。
-
サーバ対応の環境設定のservexec_retryオペランドに0を指定した場合
-
サーバ対応の環境設定のservexec_retryオペランドに指定した回数を超えて,サーバの障害を検出した場合
-
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定し,かつ,サーバの監視コマンドがEXITコード20~29で終了した場合
なお,待機サーバが存在しないなど,系切り替えができない場合は,HAモニタでのサーバの状態は実行処理中のままとなります。運用によって,実行サーバの再起動,または系切り替えをしてください。
-
-
系のペアダウンをする
サーバ対応の環境設定のptrlcmd_exオペランドで監視コマンドを指定し,かつペアダウン機能を使用している場合(サーバ対応の環境設定のpairdownオペランドにuseを指定),実行サーバの障害時にペアダウンをします。
サーバの監視コマンドの起動,停止方法,および監視処理の流れについては,「4.1.4 サーバの監視コマンドの制御」を参照してください。
(3) 必要な環境設定
サーバの監視コマンドの作成が必要です。また,作成したサーバの監視コマンドを,サーバ対応の環境設定のptrlcmd_exオペランド,またはpatrolcommandオペランドに指定します。
プログラムによっては,あらかじめプログラムを監視するためのコマンドを製品に同梱して提供しているものもあります。サーバの監視コマンドの作成方法については,「6.13.3 サーバの監視コマンドの作成」を参照してください。