ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

5.8.2 Webサーバコネクタの故障監視

注意

本機能は、以下の製品で使用可能です。

  • Interstage Application Server Enterprise Edition

  • Interstage Application Server Standard-J Edition

IJServerクラスタとWebサーバをそれぞれ別のサーバマシンに分離して負荷分散運用を行う場合に、分散先のIJServerクラスタマシンやWebコンテナの稼動状況を監視し、故障したIJServerクラスタマシンやWebコンテナを自動的に振り分けの対象から除外することや、故障から復旧したIJServerクラスタマシンやWebコンテナを自動的に振り分けの対象に戻すことができます。
Webサーバコネクタの故障監視機能によって振り分けの対象から除外されたIJServerクラスタマシンやWebコンテナに対しては、Webサーバコネクタがリクエストの振り分けを抑止します。


故障監視方式

故障監視機能には、以下の2種類の故障監視方式があります。

ping監視

IJServerクラスタマシンのIPアドレスに対してping(ICMP ECHO)を発行し、応答(ICMP ECHO REPLY)の有無によって、稼動状況を監視します。

例えば、上図のように、故障監視機能はマシン1とマシン2のIPアドレスに対して定期的(例えば60秒ごと)にpingを発行し、応答があるかどうかを監視します。マシン1のハード故障などによってpingの応答がなくなると、自動的に振り分けの対象から除外され、Webサーバコネクタはマシン1へのリクエストの振り分けを停止します。
故障したマシンを修理して、再びpingの応答が返るようになると、自動的に振り分けの対象に戻され、Webサーバコネクタは再びマシン1へリクエストの振り分けを開始します。

ポート監視

Webコンテナがリクエストを受け付けるTCPポートに対して、socketのconnectによるTCPコネクションの接続可否によって、Webコンテナの稼動状況を監視します。

例えば、上図のように、故障監視機能はマシン1とマシン2上でオープンされているWebコンテナがリクエストを待ち受けているTCPポートに対して定期的(例えば60秒ごと)にconnectを行い、接続できるかどうかを監視します。マシン1のIJServerAの停止などによりWebコンテナがリクエストを待ち受けるTCPポートがクローズし、connectによるTCPコネクション接続ができなくなると、自動的に振り分け対象から除外され、Webサーバコネクタは、マシン1のIJServerAのWebコンテナへのリクエストの振り分けを停止します。
IJServerAを起動して、再びconnectによるTCPコネクション接続ができるようになると、自動的に振り分けの対象に戻され、Webサーバコネクタは再びマシン1のIJServerAのWebコンテナへのリクエストの振り分けを開始します。

事前準備

故障監視機能を使用する場合には、事前に以下の設定が必要です。

IJServerクラスタとWebサーバを分離して運用する場合の手順の実施

故障監視機能は、IJServerクラスタとWebサーバを分離して運用する構成の場合だけ使用できます。Webサーバ用マシンのInterstage管理コンソールで、[システム] > [環境設定]タブ > [Servletサービス詳細設定] > [Webサーバとワークユニットを同一のマシンで運用する]で[運用しない]を選択します。また、isj2eeadminコマンドを使用して設定することもできます。詳細は、「リファレンスマニュアル(コマンド編)」を参照してください。

設定項目

故障監視機能の設定は、[Webサーバ] > 「Webサーバ名」 > [Webサーバコネクタ] > [故障監視設定]タブで行います。また、isj2eeadminコマンドを使用して設定することもできます。詳細は、「リファレンスマニュアル(コマンド編)」を参照してください。
以下の設定項目があります。

項目名

意味

故障監視方式

以下のいずれかの監視方法を選択します。

  • 使用しない
    故障監視機能を使用しません。

  • ping監視
    IJServerクラスタマシンの稼動状況をpingで行います。

  • ポート監視
    IJServerクラスタマシンの稼動状況をpingで行うと同時に、Webコンテナの稼動状況をconnectで行います。

故障監視間隔

ping監視またはポート監視による稼動状況の監視を実施する間隔を設定します。

応答待ち時間

IJServerクラスタマシンにpingまたはconnectを発行してから、応答が返るまでの待ち時間を設定します。
待ち時間を超えても応答がなかった場合、再度、故障時のリトライ回数に設定した回数のpingまたはconnectを発行し、そのすべてに応答がなかった場合に故障と判断されます。

故障時のリトライ回数

IJServerクラスタマシンにpingまたはconnectを発行してから、応答待ち時間を超えても応答がなかった場合のリトライ回数を設定します。

起動待ち時間

Webサーバコネクタ起動時に、故障監視機能が未起動の場合、故障監視機能の起動待ちをする時間を設定します。
この時間を超えても故障監視機能が起動しなかった場合、Webサーバコネクタは故障監視機能を使用せずに動作します。
故障監視機能を使用せずに動作する場合、Webサーバコネクタは、クライアントからのリクエストを、故障中のIJServerクラスタマシンやWebコンテナに振り分けてしまうことがあります。


運用準備の具体例

以下のような運用を行う場合について、具体的な運用手順例を説明します。

運用準備の具体例1

2台のIJServerクラスタマシンに負荷分散を行う構成で、IJServerクラスタマシンの稼動状況を監視する例を示します。

条件

サーバマシンA(IPアドレス:172.16.30.1)

Webサーバを運用

サーバマシンB(IPアドレス:172.16.30.2)

IJServerクラスタを運用

サーバマシンC(IPアドレス:172.16.30.3)

IJServerクラスタを運用


設定手順

  1. サーバマシンBでIJServerクラスタを作成します。

  2. サーバマシンCでIJServerクラスタを作成します。

  3. サーバマシンAのInterstage管理コンソールで、[Webサーバ] > 「Webサーバ名」 > [Webサーバコネクタ] > [新規作成]タブを選択し、以下の設定内容の接続先情報を作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer

    ServletコンテナのIPアドレス:ポート番号

    172.16.30.2:28090
    172.16.30.3:28090

  4. サーバマシンAのInterstage管理コンソールで、[Webサーバ] > 「Webサーバ名」 > [Webサーバコネクタ] > [故障監視設定]タブを選択し、以下の設定内容で故障監視機能を設定します。

    項目名

    設定値例

    故障監視方式

    ping監視

    故障監視間隔

    60

    応答待ち時間

    10

    故障時のリトライ回数

    3

  5. サーバマシンAのInterstage管理コンソールで、[サービス] > [Webサーバ] > 「Webサーバ名」 > [状態]タブを選択し、Webサーバを再起動してください。


運用準備の具体例2

2台のIJServerクラスタマシンに負荷分散を行う構成で、IJServerクラスタマシンの稼動状況およびWebコンテナの稼動状況を監視する例を示します。

条件

サーバマシンA(IPアドレス:172.16.30.1)

Webサーバを運用

サーバマシンB(IPアドレス:172.16.30.2)

IJServerクラスタを運用

サーバマシンC(IPアドレス:172.16.30.3)

IJServerクラスタを運用


設定手順

  1. サーバマシンBでIJServerクラスタを2つ作成します。

  2. サーバマシンCでIJServerクラスタを2つ作成します。

  3. サーバマシンAのInterstage管理コンソールで、[Webサーバ] > 「Webサーバ名」 > [Webサーバコネクタ] > [新規作成]タブを選択し、以下の設定内容の、2つの接続先情報を作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer1

    ServletコンテナのIPアドレス:ポート番号

    172.16.30.2:28090
    172.16.30.3:28090

    項目名

    設定値例

    ワークユニット名

    MyIJServer2

    ServletコンテナのIPアドレス:ポート番号

    172.16.30.2:28091
    172.16.30.3:28091

  4. サーバマシンAのInterstage管理コンソールで、[Webサーバ] > 「Webサーバ名」 > [Webサーバコネクタ] > [故障監視設定]タブを選択し、以下の設定内容で故障監視機能を設定します。なお、ポート監視を選択した場合の監視先は、3の手順の「ServletコンテナのIPアドレス:ポート番号」で設定したすべてのIPアドレス:ポート番号となります。

    項目名

    設定値例

    故障監視方式

    ポート監視

    故障監視間隔

    60

    応答待ち時間

    10

    故障時のリトライ回数

    3

  5. サーバマシンAのInterstage管理コンソールで、[サービス] > [Webサーバ] > 「Webサーバ名」 > [状態]タブを選択し、Webサーバを再起動してください。

稼動状況の表示

Webサーバマシンで、以下のコマンドを使用することにより、分散先のIJServerクラスタの稼動状況を表示できます。コマンドの詳細は、「リファレンスマニュアル(コマンド編)」を参照してください。

svmondspstat


すべてのIJServerクラスタの状態を表示する

オプション指定なしでsvmondspstatコマンドを実行することにより、すべての分散先についてのIJServerクラスタの稼動状況が表示されます。

条件
  • IJServerクラスタ名がMyIJServer1とMyIJserver2の2つのIJServerクラスタへの振り分け

  • 振り分け先のServletコンテナのIPアドレス:ポート番号が以下の4つ

    • 172.16.30.2:9000

    • 172.16.30.3:9000

    • 172.16.30.2:9001

    • 172.16.30.3:9001

  • 故障監視方式がポート監視

  • MyIJServer2の172.16.30.2:9001だけ故障中

表示例

上記の条件の場合、以下のように表示されます。

Status  IP Address  : Port Number : WorkUnit Name : WebServer Name
---------------------------------------------------------------------
ACTIVE  172.16.30.2 : 9000        : MyIJServer1    : FJapache
ACTIVE  172.16.30.3 : 9000        : MyIJServer1    : WEB001
DOWN    172.16.30.2 : 9001        : MyIJServer2    : FJapache
ACTIVE  172.16.30.3 : 9001        : MyIJServer2    : WEB001

特定のIJServerクラスタの状態だけを表示する

以下のように、Webサーバコネクタの「ワークユニット名」で設定したワークユニット名を指定してコマンドを実行することにより、特定のIJServerクラスタの稼動状況だけを表示できます。

実行例

svmondspstat -i MyIJServer1

条件
  • IJServerクラスタ名がMyIJServer1とMyIJserver2の2つのIJServerクラスタへの振り分け

  • 振り分け先のServletコンテナのIPアドレス:ポート番号が以下の4つ

    • 172.16.30.2:9000

    • 172.16.30.3:9000

    • 172.16.30.2:9001

    • 172.16.30.3:9001

  • 故障監視方式がポート監視

  • MyIJServer1のServletコンテナがすべて稼働中

表示例

上記の条件の場合、以下のように表示されます。

Status  IP Address  : Port Number : WorkUnit Name : WebServer Name
---------------------------------------------------------------------
ACTIVE  172.16.30.2 : 9000        : MyIJServer1    : FJapache
ACTIVE  172.16.30.3 : 9000        : MyIJServer1    : WEB001

留意点

故障監視機能を使用する場合、下記の留意点があります。