Sun Cluster HA for Sun Java System Application Server 障害モニターは、Sun Java System Application Server サーバーの健全性を照会する要求をサーバーに送信します。検証機能は、次の作業を行います。
障害モニターは、Probe_timeout リソースプロパティーに設定されているタイムアウト値に従って Sun Java System Application Server インスタンスの検証を行います。
検証機能は、リソースグループのネットワークリソース構成と Port_list 設定で定義されている IP アドレスとポートのペアに接続します。リソースに Port_list も指定されている場合、この手順は省略されます。正常に接続できた場合、検証機能は切り離されます。接続に失敗した場合は、障害が記録されます。
大量のネットワークトラフィック、高システム負荷、構成の誤りは、問い合わせが失敗する原因になることがあります。Sun Java System Application Server サーバーが検証対象のすべての IP アドレスとポートの組み合わせで待機するように構成されていないと、構成ミスになります。Sun Java System Application Server サーバーは、このリソースに指定したすべての IP アドレスのすべてのポートに対応するように構成します。
検証機能は、Sun Java System Application Server サーバーに接続し、Monitor_Uri_List 内の各 URI に HTTP 要求を送信して応答を受け取ることによって HTTP 1.1 GET チェックを行います。
各 HTTP 要求の結果は、成功または失敗です。すべての要求に対して、Sun Java System Application Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。
大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。Monitor_Uri_List の URI に不正なポートまたはホスト名が含まれていた場合、Monitor_Uri_List プロパティーの不正な構成が失敗の原因となります。たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待機していて、URI が http://schost-2/servlet/monitor と指定されていると、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。
Probe_timeout に指定された制限時間内に応答がない場合、検証機能は履歴ログに失敗を記録します。検証機能はこの状況を Sun Java System Application Server データサービスに属す障害とみなします。Sun Java System Application Server の検証障害は、完全障害の場合もあれば、部分障害の場合もあります。
Probe_timeout 内に検証機能が応答を受け取らなかった場合、HTTP 応答コードを調べます。応答コードが 500 (Internal Server Error) だった場合、検証は完全障害とみなされます。それ以外の応答コードはすべて無視されます。
完全検証障害は、次のとおりです。
サーバーとの接続に失敗すると、次のエラーメッセージが出されます。%s はホスト名、%d はポート番号を表します。
Failed to connect to the host <%s> and port <%d>. Receiving a response code of 500 Internal Server Error HTTP GET Response Code for probe of %s is 500. Failover will be in progress |
サーバーに検証文字列を正常に送信できなかった場合は、次のエラーメッセージが出されます。最初の %s はホスト名、%d はポート番号、2 番めの %s はエラーの詳細を表します。
Write to server failed: server %s port %d: %s. |
モニターは、完全障害と等しくなるまで、すなわち、Retry_interval リソースプロパティーで設定された値になるまで、発生した部分障害を累積します。
部分検証障害は、次のとおりです。
Probe_timeout で設定された時間が経過するまでに、切断できなかった場合は、次のエラーメッセージが出されます。%d はポート番号を示し、%s はリソース名を示します。
Failed to disconnect from port %d of resource %s. |
Probe_timeout の時間内ですべての検証手順を完了できないと、部分障害になります。
次のエラーメッセージは、ほかの理由でサーバーからのデータ読み取りに失敗した時に受け取ったものです。最初の %s はホスト名、%d はポート番号、2 番めの %s はエラーの詳細を表します。
Failed to communicate with server %s port %d: %s |
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。