ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

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

注意

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

  • Interstage Application Server Enterprise Edition

  • Interstage Application Server Standard-J Edition

  • Interstage Application Server Enterprise Edition同梱のWeb Package

Standard-J Edition同梱のWeb Packageでは、本機能は使用できません。
なお、以下のOSで動作する製品では、Web Packageを提供していません。

  • Microsoft(R) Windows Server(R) 2003 Enterprise Edition for Itanium-based Systems

  • Microsoft(R) Windows Server(R) 2003 Datacenter Edition for Itanium-based Systems

  • Microsoft(R) Windows Server(R) 2008 for Itanium-based Systems

  • Microsoft(R) Windows Server(R) 2008 x64 Editions

  • Red Hat Enterprise Linux AS (v.4 for Itanium)

  • Red Hat Enterprise Linux 5 (for Intel Itanium)

  • Red Hat Enterprise Linux 5 (for Intel64)

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


故障監視方式

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

ping監視

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

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

ポート監視

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

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

事前準備

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

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

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

設定項目

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

項目名

意味

故障監視方式

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

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

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

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

故障監視間隔

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

応答待ち時間

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

故障時のリトライ回数

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

起動待ち時間

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


運用準備の具体例

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

以下では、Interstage管理コンソールを使用する場合の手順を説明していますが、isj2eeadminコマンドを使用して設定することもできます。詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。


運用準備の具体例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のInterstage管理コンソールで、[ワークユニット] > [新規作成]タブを選択し、以下の設定内容のワークユニットを作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.2

    ポート番号

    9000

  2. サーバマシンCのInterstage管理コンソールで、[ワークユニット] > [新規作成]タブを選択し、以下の設定内容のワークユニットを作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.3

    ポート番号

    9000

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

    項目名

    設定値例

    ワークユニット名

    MyIJServer

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

    172.16.30.2:9000
    172.16.30.3:9000

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

    項目名

    設定値例

    故障監視方式

    ping監視

    故障監視間隔

    60

    応答待ち時間

    10

    故障時のリトライ回数

    3

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


運用準備の具体例2

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

条件

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

Webサーバを運用

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

IJServerを運用

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

IJServerを運用


設定手順

  1. サーバマシンBのInterstage管理コンソールで、[ワークユニット] > [新規作成]タブを選択し、以下の設定内容の、2つのワークユニットを作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer1

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.2

    ポート番号

    9000


    項目名

    設定値例

    ワークユニット名

    MyIJServer2

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.2

    ポート番号

    9001

  2. サーバマシンCのInterstage管理コンソールで、[ワークユニット] > [新規作成]タブを選択し、以下の設定内容の、2つのワークユニットを作成します。

    項目名

    設定値例

    ワークユニット名

    MyIJServer1

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.3

    ポート番号

    9000


    項目名

    設定値例

    ワークユニット名

    MyIJServer2

    V8.0互換モードのIJServer作成

    しない

    要求を受け付けるWebサーバのIPアドレス

    172.16.30.1

    ServletコンテナのIPアドレス

    172.16.30.3

    ポート番号

    9001

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

    項目名

    設定値例

    ワークユニット名

    MyIJServer1

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

    172.16.30.2:9000
    172.16.30.3:9000

    項目名

    設定値例

    ワークユニット名

    MyIJServer2

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

    172.16.30.2:9001
    172.16.30.3:9001

  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

留意点

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