1.13. Working Domain Coordinator

Working Domain Coordinatorに関する設定について説明します。

1.13.1. Working Domain Coordinator全般の設定項目・設定方法

Working Domain Coordinatorの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

補足:

設定された属性はそれぞれ以下のディレクトリ配下に格納されます。

Working Domain coordinator ${INSTANCE_ROOT}/config/persistent-mbean/WorkingDomainCoordinator
ビジネスロジックグループ ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledBusinessLogicGroup
ビジネスロジック ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledBusinessLogic
ロードバランサ ${INSTANCE_ROOT}/config/persistent-mbean/WDCLoadBalancer
制御対象サーバ ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledServer
制御対象ドメイン ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledDomain

また、各MOの名前の一覧情報を以下のファイルに格納しています。

ビジネスロジックグループ ${INSTANCE_ROOT}/config/wowdc/businesslogicgroups.properties
ビジネスロジック ${INSTANCE_ROOT}/config/wowdc/businesslogics.properties
ロードバランサ ${INSTANCE_ROOT}/config/wowdc/loadbalancers.properties

また、ワーキングドメインコーディネータ停止時の各サーバにおけるドメイン稼働状況を次のファイルに格納しています。

${INSTANCE_ROOT}/config/wowdc/domain-status.properties

これらのファイルの内容には、手を加えないでください。

1.13.2. Working Domain Coordinatorに関する設定

以下はMOで設定可能な Working Domain Coordinator 設定項目の一覧です。

Dottedname : server.workingDomainCoordinator

表1.13.2-1
属性名
[attribute-name]
説明 既定値
ドメイン停止の待ち合わせ時間
[domainStopWaitingTime]
制御対象ドメイン停止時の待ち合わせ時間(単位:ミリ秒)です。
現在、この設定は無効です。この値を設定しても、ドメイン停止の待ち合わせは行われません。
1
ログレベル
[logLevel]
Working Domain Coordinatorのログレベルです。
指定されたレベルでのロギングを有効にすると、より高いすべてのレベルでのロギングも有効になります。レベルは降順で次のとおりです。
SEVERE : 重大な障害を示すメッセージを出力します。
WARNING : 潜在的な問題を示すメッセージを出力します。
INFO : 動作に関する主なメッセージを出力します。
CONFIG : 静的な構成メッセージを出力します。
FINE : トレースメッセージを出力します。
FINER : 詳細なトレースメッセージを出力します。
FINEST : FINERよりも詳細なトレースメッセージを出力します。
なお、OFFを指定するとログは出力されません。
INFO
ドメイン切替時のワーカスレッド最大値
[maxThreads]
ドメイン切り替え時のワーカスレッド数の最大値です。
10
ドメイン切替時のワーカスレッド最小値
[minThreads]
ドメイン切り替え時のワーカスレッド数の最小値です。 2
ドメインの稼働状況の永続化
[enabledPersistence]
ドメインの稼働状況の永続化を行うかどうかを指定します。TRUE(永続化する)の場合、ワーキングドメインコーディネータ停止時の各サーバにおけるドメイン稼動状況を保存したファイル(${INSTANCE_ROOT}/config/wowdc/domain-status.properties)の内容を元に、クラスタドメインを含めた全ドメインの再起動時にドメインの稼動状態を復元します。なお、ファイルが壊れていた場合や読み込みに失敗した場合は、その旨の警告ログを出力し、現在のドメイン起動状況のまま運用を継続します。 TRUE(永続化を行う)


1.13.3. ビジネスロジックグループに関する設定

以下はMOで設定可能なビジネスロジックグループの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.businessLogicGroups.group-name

group-nameには、ビジネスロジックグループ名が設定されます。

表1.13.3-1
属性名
[attribute-name]
説明 既定値
ビジネスロジックグループ名
[businessLogicGroupName]
ビジネスロジックグループ名です。この名前を変更しないでください。 なし
キュー滞留数上限値
[maxQueuingRequests]
キュー滞留数上限値を指定します。定期監視および、サンプリング監視時、キュー滞留数がキュー滞留数上限値を上回った場合、高負荷状態とみなされます。 20
定期監視間隔
[observationInterval]
キュー滞留数の定期監視間隔(単位:秒)を指定します。 600
高負荷時監視間隔
[sampleObservationInterval]
キュー滞留数の上限値を超える高負荷な状態での監視間隔(単位:秒)を指定します。定期監視で高負荷とみなされた場合、監視の間隔をこの間隔に切り替え、キュー滞留数のサンプリングの採取を行います。 60
高負荷時サンプリング回数
[sampleObservationCount]
高負荷時のサンプリング回数を指定します。定期監視で高負荷とみなされた場合、監視の間隔を高負荷時監視間隔に切り替え、この回数分、キュー滞留数のサンプリング採取を行います。 10
高負荷検出率
[highLoadRate]
高負荷検出率を指定します。高負荷時のサンプリング回数分、キュー滞留数の監視を行い、キュー滞留数上限値を超えた回数がこの率を超えた場合、継続的な高負荷状態とみなし、ビジネスロジックの切り替えを行います。 60
優先度
[priority]
優先度を指定します。切り替え処理が行われる際、停止対象となるビジネスロジックの選択のパラメータとなります。この値が低いビジネスロジックから切り替えの対象となります。また、この値に5が設定されている場合は、切り替えの対象となりません。 1
稼動サーバ数上限値
[maxServers]
稼動サーバ数の上限値を指定します。継続的な高負荷状態にあるビジネスロジックが動作するサーバ数が、既にこの稼動サーバ数上限値に達している場合、切り替え処理は行われません。 1
稼動サーバ数下限値
[minServers]
稼動サーバ数の下限値を指定します。切り替え処理で停止対象となったビジネスロジックが動作するサーバ数が、停止後、稼動サーバ数下限値を下回る場合、切り替え処理は行われません。 1
障害発生後の負荷分散装置への再登録を自動で行うかどうか
[autoRegisterToLBAfterRecovery]
障害発生後の負荷分散装置への再登録を自動で行うかどうかを指定します。 FALSE(自動で行わない)
最低稼働時間
[warmingUpTimeToSwitch]
このビジネスロジックグループが稼動するドメインの最低稼働時間(単位:秒)を指定します。ドメインの稼働時間がこの値を超えない場合、切り替えは行いません。 3600


1.13.4. ビジネスロジックに関する設定

以下はMOで設定可能なビジネスロジックの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.businessLogicGroups.group-name.businessLogic.logic-name

group-nameには、ビジネスロジックグループ名が設定されます。

logic-nameには、ビジネスロジック名が設定されます。

表1.13.4-1
属性名
(attribute-name)
説明 既定値
ビジネスロジック名
[businessLogicName]
監視の対象となるプロセスグループ名を指定します。 なし


1.13.5. ロードバランサに関する設定

以下はMOで設定可能なロードバランサの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.loadBalancers.loadbalancer-name

loadbalancer-name には、ロードバランサ名が設定されます。

表1.13.5-1
属性名
(attribute-name)
説明 既定値
ロードバランサ名
[loadBalancerName]
ロードバランサ名です。この名前を変更しないでください。 なし
ロードバランサのホスト名
[hostName]
ロードバランサに接続する時のホスト名です。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのホスト名を指定してください。
なし
ロードバランサのポート番号
[portNumber]
ロードバランサに接続する時のポート番号です。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのポート番号を指定してください。
443
ロードバランサのバージョン
[version]
ロードバランサのバージョンです。
9
ロードバランサのユーザ名
[userName]
ロードバランサの管理者のユーザ名です。
ロードバランサがBIG-IPの場合、 iControlのエンドポイントのベーシック認証用ユーザ名を指定してください。
なし
ロードバランサのパスワード
[password]
ロードバランサの管理者のパスワードです。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのベーシック認証用パスワードを指定してください。
なし
ロードバランサのタイプ
[lbType]
ロードバランサのタイプです。
(1:BIG-IP 999:OTHER)
999(OTHER)
ロードバランサ制御モード
[lbControlMode]
ロードバランサの制御モードです。

1 : LB制御あり
  制御対象ドメインに設定された、ロードバランサの振分先の制御を自動的に行います。ドメイン停止処理時、ロードバランサから振分先を削除するコマンドを発行し、そのドメインに滞留するリクエストがすべて処理されたことを確認した後で、実際の停止を行います。

2 : LB制御なし
  ロードバランサに対して振分先の制御を行いません。振分先の制御は、ロードバランサのヘルスチェック機能により行われます。

3 : LB制御依頼
  ロードバランサの振分先の制御を運用担当者に依頼するモードです。ドメインの切り替えを行う際に、ロードバランサの振分先の制御依頼メッセージをイベントログ(Unixではsyslog)に出力します。運用担当者は、そのメッセージに記載された制御対象ドメインの振分先設定を行ってください。
1(LB制御あり)
振分先追加処理のリトライ回数 [registerToLbCommandRetryMax] 振分先追加処理のリトライ回数を指定します。 1
振分先追加処理の終了の待ち合わせ時間
[registerToLbCommandTimout]
振分先追加処理の終了の待ち合わせ時間(単位:ミリ秒)を指定します。 30
振分先削除処理のリトライ回数
[removeFromLbCommandRetryMax]
振分先削除処理のリトライ回数を指定します。 1
振分先削除処理の終了の待ち合わせ時間
[removeFromLbCommandTimeout]
振分先削除処理の終了の待ち合わせ時間(単位:ミリ秒)を指定します。 30


1.13.6. 制御対象サーバに関する設定

以下はMOで設定可能な制御対象サーバの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.controlledServers.server-name

server-nameには、制御対象サーバ名が設定されます。

表1.13.6-1
属性名
(attribute-name)
説明 既定値
制御対象サーバ名
[serverName]
制御対象サーバ名を指定します。TCP/IPのホスト名などの識別名を指定してください。 なし
JMX Remote URL
[jmxAdminRemoteURL]
制御対象サーバで動作する管理ドメインと接続するためのJMX Remote URLを指定します。既定値のホスト名やポート番号を必要に応じて変更してください。ドメインに接続を行う際に使用するプロトコルがJMXMPの場合、service:jmx:jmxmp://localhost:6202を指定してください(ホスト名やポート番号は必要に応じて変更してください。) service:jmx:rmi:///jndi/rmi://localhost:6202/
management/rmi-jmx-connector
JMX Remoteのセキュリティ機能の有効化
[jmxAdminRemoteSecure]
管理ドメインと接続する際にJMX Remoteのセキュリティ機能を使用するかどうかを指定します。 FALSE(使用しない)
デフォルトドメイン名
[defaultDomainName]
Working Domain Coordinatorの起動時に、制御対象サーバで制御対象ドメインが1つも起動されていない場合に起動する制御対象ドメイン名を指定します。
Working Domain Coordinatorの停止時、デフォルトドメインの停止は行われません。
domain1
サーバの制御状態
[controlledStatus]
サーバに対するWorking Domain Coordinatorの負荷分散制御状態を表します。読み取り専用の属性です。
0:負荷分散制御中
1:停止制御再開指示待ち
なし
サーバの負荷状態
[serverState]
最大キュー滞留数に対する、制御対象サーバの現在のキュー滞留数の割合の最大値です。
読み取り専用の属性です。
なし


1.13.7. 制御対象ドメインに関する設定

以下はMOで設定可能な制御対象ドメインの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.controlledServers.server-name.controlledDomains.domain-name

server-nameには、制御対象サーバ名が設定されます。

domain-nameには、制御対象ドメイン名が設定されます。

表1.13.7-1
属性名
(attribute-name)
説明 既定値
制御対象ドメイン名
[domainName]
制御対象ドメイン名を指定します。この名前を変更しないでください。 なし
ビジネスロジックグループ名
[businessLogicGroupName]
ビジネスロジックを束ねるビジネスロジックグループの名前を指定します。 なし
ロードバランサの振分先に追加するコマンド
[domainAdditionalCommands]
ロードバランサの振分先に追加するコマンドや、任意のコマンドを指定することができます。ロードバランサ制御モードがLB制御ありに設定されており、切り替え処理が起動した場合に、発行されるコマンドです。複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。

コマンドの引数に「%WDC_CONNECT_INFO%」を指定すると、コマンド発行時に自動的に対象ドメインへの接続情報
(--host <ホスト名> --port <ポート番号> --protocol=<jmxmp|rmi> --secure=<true|false> )に置換します。

発行するコマンドの存在チェックを以下の順番で行い、実行します。
  1. 絶対パスでコマンドが指定されている。
  2. ${AS_INSTALL}/wowdc/bin からの相対パスでコマンドが指定されている。
テンプレートコマンドを利用する場合、${AS_INSTALL}/wowdc/template から ${AS_INSTALL}/wowdc/bin 配下へコマンドをコピーしてください。
Unixの場合、コピーしたコマンドに実行権限を与えてください。

テンプレートを利用したコマンドの指定例は次の通りです。
「WebContStart.cmd --user admin --passwordfile /opt/WebOTX/wowdc/bin/pass.txt %WDC_CONNECT_INFO% 」

登録するコマンド内で多量のメッセージ出力を行っているとバッファがいっぱいになり、 コマンドがその出力待ちにより途中で止まることがあります。コマンド内でメッセージ出力 する場合はリダイレクトによりファイル出力してください。
なし
ロードバランサの振分先から削除するコマンド
[domainDeleteCommands]
ロードバランサの振分先から削除するコマンドや、任意のコマンドを指定することができます。

ロードバランサ制御モードがLB制御ありに設定されており、切り替え処理が起動した場合に、発行されるコマンドです。複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。
コマンドの引数に「%WDC_CONNECT_INFO%」を指定すると、コマンド発行時に自動的に対象ドメインへの接続情報
(--host <ホスト名> --port <ポート番号> --protocol=<jmxmp|rmi> --secure=<true|false> )に置換します。

発行するコマンドの存在チェックを以下の順番で行い、実行します。
  1. 絶対パスでコマンドが指定されている。
  2. ${AS_INSTALL}/wowdc/bin からの相対パスでコマンドが指定されている。
テンプレートコマンドを利用する場合、${AS_INSTALL}/wowdc/template から ${AS_INSTALL}/wowdc/bin 配下へコマンドをコピーしてください。
Unixの場合、コピーしたコマンドに実行権限を与えてください。

テンプレートを利用したコマンドの指定例は次の通りです。
「WebContStop.cmd --user admin --passwordfile /opt/WebOTX/wowdc/bin/pass.txt %WDC_CONNECT_INFO% 」

登録するコマンド内で多量のメッセージ出力を行っているとバッファがいっぱいになり、 コマンドがその出力待ちにより途中で止まることがあります。コマンド内でメッセージ出力 する場合はリダイレクトによりファイル出力してください。
なし
JMX Remote URL
[jmxRemoteURL]
ユーザドメインと接続するためのJMX Remote URLを指定します。既定値のホスト名やポート番号を必要に応じて変更してください。ドメインに接続を行う際に使用するプロトコルがJMXMPの場合、service:jmx:jmxmp://localhost:6212を指定してください(ホスト名やポート番号は必要に応じて変更してください。) service:jmx:rmi:///jndi/rmi://localhost:6212/
management/rmi-jmx-connector
JMX Remoteのセキュリティ機能の有効化
[jmxRemoteSecure]
ドメインと接続する際に、JMX Remoteのセキュリティ機能を使用するかどうかを指定します。 FALSE(使用しない)
ロードバランサ名
[loadBalancerName]
振分先制御が行われるロードバランサ名を指定します。 なし
振分先のグループ名
[lbGroupName]
ロードバランサの振分先の論理的なグループ名を指定します。
ロードバランサがBIG-IPの場合、プール名を指定してください。プール名が指定されていない場合は、ビジネスロジックグループ名がプール名として使用されます。
なし
振分先ポート番号
[lbPortNumbers]
ロードバランサによって振分が行われるアプリケーションサーバ側のポート番号を指定します。複数設定する場合は、ポート番号をカンマ区切りで入力してください。 80
ドメイン起動の待ち合わせ時間
[startDomainTimeout]
ドメイン起動の待ち合わせ時間(単位:秒)を指定します。 600
ドメイン停止の待ち合わせ時間
[stopDomainTimeout]
ドメイン停止の待ち合わせ時間(単位:秒)を指定します。 600
ロードバランサの振分先に登録済みかどうか
[registeredToLb]
ロードバランサの振分先に登録済みかどうかを指定します。ワーキングドメインコーディネータが関与せず、手動操作等でロードバランサへの振分先に登録・削除が行われた場合、この設定を登録状況に合わせて変更してください。 FALSE(未登録)
ドメインの障害監視を行うかどうか
[enableFailureMonitoring]
ドメインの障害監視を行うかどうかを指定します。proxyドメインで動作する場合は、障害監視を行いません。 TRUE(監視する)
ドメインの障害監視間隔
[failureMonitoringInterval]
ドメインの障害監視間隔(単位:秒)を指定します。負荷監視を行う場合は、この障害監視間隔は使用されません。 600