リクエストを受信できる使用可能なオリジン・サーバーにのみリクエストが分散されるように、Oracle Traffic Directorはヘルス・チェック・リクエストをプール内のすべてのオリジン・サーバーに送信することでオリジン・サーバーの可用性および状態を監視します。
管理コンソールまたはCLIのいずれかを使用して、オリジン・サーバー・プールのヘルス・チェック・パラメータを構成できます。
注意:
|
Oracle Traffic Directorがヘルス・チェック・リクエストを送信するタイミング
Oracle Traffic Directorインスタンスの起動時に、構成済のすべてのオリジン・サーバー・プール内のすべてのオリジン・サーバーに対して初期ヘルス・チェックが実行されます。
初期ヘルス・チェックでオリジン・サーバーの状態が正常であると判明すると、次の状況の場合のみOracle Traffic Directorはさらにヘルス・チェック・リクエストをオリジン・サーバーに送信します。
前回のヘルス・チェック間隔全体を通して、サーバーによってリクエストが正常に処理されませんでした。
動的検出が、このオリジン・サーバー・プールで有効に設定されています。詳細は、6.5項「Oracle WebLogic Server Clusterのオリジン・サーバー・プールとしての構成」を参照してください。
ヘルス・チェック(初期または後続のチェックのいずれか)でオリジン・サーバーが使用不可であることが判明した場合、Oracle Traffic Directorは、指定されたヘルス・チェック間隔でヘルス・チェックを繰り返します。
構成可能なヘルス・チェック設定
表14-1は、構成内の各オリジン・サーバー・プールについて構成できるヘルス・チェック設定を示しています。
表14-1 ヘルス・チェック・パラメータ
パラメータ | デフォルト値 |
---|---|
Oracle Traffic Directorが、オリジン・サーバーの状態を判別するために使用するオリジン・サーバーとの接続のタイプ(HTTP、TCPまたはCOMMAND)。
|
HTTP |
ヘルス・チェック・リクエストが送信される頻度。 |
30秒 |
オリジン・サーバーからレスポンスが返されなかった場合、ヘルス・チェック・リクエストがタイムアウトとなるまでの時間。 |
5秒 |
Oracle Traffic Directorがプール内のオリジン・サーバーに接続を試行する場合に、接続不可と判断されるまでの試行回数。 |
5 |
送信する必要のあるHTTPリクエスト・メソッド(GETまたはOPTIONS)。 |
OPTIONS |
HTTPリクエストに送信されるURI。 |
/ |
外部接続では、外部実行可能ファイルを実行するためのパス。 |
|
正常なオリジン・サーバーのインジケータとしてOracle Traffic Directorが受け入れられるHTTPレスポンス・コード。 デフォルトでは、Oracle Traffic Directorは、正常なオリジン・サーバーのインジケータとして |
|
HTTP GETヘルス・チェック・リクエストの場合、正常なオリジン・サーバーのインジケータとしてOracle Traffic Directorが受け入れられるスポンス本文の正規表現。 |
|
HTTP GETヘルス・チェック・リクエストの場合、Oracle Traffic Directorが、レスポンス本文を指定済の受入れ可能なレスポンス本文と比較するときに考慮する、レスポンス本文の最大バイト数。 |
2048 |
オリジン・サーバーが使用可能で正常と見なされる条件
構成されたヘルス・チェック接続タイプがTCPである場合、接続が正常に確立され、サーバーがそのサービス・ポートをアクティブにリスニングしていると、オリジン・サーバーは使用可能と見なされます。
構成されたヘルス・チェック接続タイプがHTTPである場合、次の条件がすべて満たされた場合、オリジン・サーバーは使用可能と見なされます。
HTTPリクエストの送信中にエラーが発生していません。
タイムアウト時間に達する前にレスポンスを受信しています。
レスポンス内のステータス・コードが、受入れ可能なレスポンス・コード(指定されている場合)のいずれかと一致しています。
デフォルトでは、Oracle Traffic Directorは、正常なオリジン・サーバーのインジケータとして1xx
から4xx
までのレスポンス・コード受け入れます。
レスポンス本文が、受入れ可能なレスポンス本文(指定されている場合)と一致しています。
管理コンソールを使用したオリジン・サーバーのヘルス・チェック設定の構成
管理コンソールを使用して、プール内のオリジン・サーバーのヘルス・チェック設定を表示および変更するには、次の操作を行います。
2.3.2項「管理コンソールへのアクセス」の説明に従って、管理コンソールにログインします。
ページの左上隅にある「構成」ボタンをクリックします。
使用可能な構成のリストが表示されます。
オリジン・サーバーのヘルス・チェック設定を表示または変更する、構成を選択します。
ナビゲーション・ペインで、「オリジン・サーバー・プール」を展開し、ヘルス・チェック設定を表示または変更するオリジン・サーバー・プールを選択します。
「オリジン・サーバー・プール」ページが表示されます。構成に定義されたオリジン・サーバー・プールのリストが表示されます。
変更するオリジン・サーバー・プールの名前をクリックします。
「サーバー・プール設定」ページが表示されます。
ページの「詳細設定」セクションに移動します。
変更するパラメータを指定します。
画面上のヘルプおよびプロンプトがすべてのパラメータに提供されています。
フィールドの値を変更する、または変更したテキスト・フィールドからタブアウトすると、ページの右上隅にある「保存」ボタンが有効になります。
「リセット」ボタンをクリックすることで、いつでも変更を破棄できます。
必要な変更を行った後、「保存」をクリックします。
更新された構成が保存されたことを確認するメッセージが、「コンソール・メッセージ」ペインに表示されます。
さらに、「デプロイメント保留中」メッセージが、メイン・ペインの上部に表示されます。4.3項「構成のデプロイ」の説明に従い、「変更のデプロイ」をクリックして更新された構成を即座にデプロイすることも、さらに変更を行いその後でデプロイすることもできます。
CLIを使用したオリジン・サーバーのヘルス・チェック設定の構成
構成内のオリジン・サーバー・プールの現在のヘルス・チェック設定を表示するには、次の例に示すように、get-health-check-prop
コマンドを実行します。
tadm> get-health-check-prop --config=soa --origin-server-pool=osp1
response-body-match-size=2048
protocol=HTTP
interval=30
request-method=OPTIONS
failover-threshold=3
request-uri=/
dynamic-server-discovery=false
timeout=5
構成内のオリジン・サーバー・プールのヘルス・チェック設定を変更するには、set-health-check-prop
コマンドを実行します。
たとえば、次のコマンドにより、構成soa
内のオリジン・サーバー・プールosp1
のヘルス・チェック間隔が60秒に変更され、ヘルス・チェックのタイムアウト時間が10秒に変更されます。
tadm> set-health-check-prop --config=soa --origin-server-pool=osp1 interval=60 timeout=10
OTD-70201 Command 'set-health-check-prop' ran successfully.
更新された構成を有効にするには、deploy-config
コマンドを使用して、構成をOracle Traffic Directorインスタンスにデプロイする必要があります。
この項で説明されたコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--help
オプションを付けてコマンドを実行してください。
Oracle Traffic Directorは一般的なヘルス・チェック連結メカニズムをサポートしたことで、自分達のヘルス・チェックのプログラム/スクリプトを記述して特定のオリジン・サーバーのヘルスを監視できるようになりました。外部実行可能ファイルは、オリジン・サーバーのプロトコル・レベルのヘルス・チェック・モニターとして特に有用です。
外部実行可能ファイルを使用してサーバーの状態をチェックするようにOracle Traffic Directorを構成すると、Oracle Traffic Directorは定期的に実行可能ファイルを呼び出し、特定のパラメータを引数および環境変数として渡します。実行可能ファイルが、タイムアウトする前に正常にステータス・コード0を戻すと、Oracle Traffic Directorはサーバー・ステータスをオンラインに設定します。実行可能ファイルが0以外の値を戻すか、実行が終了する前にタイムアウトが発生すると、Oracle Traffic Directorは再試行することなく即座にサーバー・ステータスをオフラインに設定し、タイムアウトの場合には実行可能ファイルを停止します。実行可能ファイルが0以外のステータス・コードを戻すには様々な理由があります(コア・ダンプ、シグナル停止、外部実行可能ファイル自体のロジックが含まれます)。Oracle Traffic Directorは、戻りステータスが0以外の場合は常にサーバーをオフラインにマークします。
また、Oracle Traffic Directorは、実行可能ファイルの標準出力および標準エラーを取得し、イベント・ログ(サーバー・ログ)にメッセージをロギングします。
外部実行可能ファイルは実際のヘルス・チェック・ジョブを処理します。これには、オリジン・サーバーの接続の確立、リクエスト/応答の送信/受信、(該当する場合)SSLの処理、(必要に応じて)再試行ロジックなどが含まれます。実行可能ファイルは、ヘルス・チェック処理終了後、ステータス0で終了しサーバー・ステータスをオンラインに設定することが想定されています。実行可能ファイルがイベント・ログにメッセージをロギングするようにするには、標準出力にそれらのメッセージを出力します。
構成内のオリジン・サーバー・プールのヘルス・チェック設定を外部実行可能ファイルを使用するように構成するには、set-health-check-prop
コマンドを実行します。
たとえば、次のコマンドはヘルス・チェック・メソッドをCOMMANDに設定し、外部ヘルス・チェック実行可能ファイルに/path/myhcscript
のパスを指定します。間隔およびタイムアウト・プロパティも指定されます。
tadm> set-health-check-prop --user=admin --host=admin.example.com --password-file=./admin.passwd --port=8989 --no-prompt --config=www.example.org --origin-server-pool=test-pool protocol=COMMAND interval=25 timeout=4 command=/path/myhcscript
OTD-70201 Command 'set-health-check-prop' ran successfully.
注意: オリジン・サーバー・プールのHTTPタイプの場合、COMMAND ヘルス・チェック・プロトコルは次の場合には考慮されません。
|
更新された構成を有効にするには、deploy-config
コマンドを使用して、構成をOracle Traffic Directorインスタンスにデプロイする必要があります。
Oracle Traffic Directorは、パラメータを外部ヘルス・チェック実行可能ファイルへ2つの方法で渡します。特に、Oracle Traffic Directorは、引数でオリジン・サーバー・ホスト、オリジン・サーバー・ポートおよびタイムアウト値を渡し、ORACLE_HOME
、INSTANCE_HOME
、INSTANCE_NAME
、DOMAIN_HOME
およびOTD_LOG_LEVEL
に加えて既存の環境変数をすべて環境変数として渡します。引数パラメータは、次のコマンドの例で示すように、コマンドライン・オプションの形式で渡されます。
/path/myhcscript -h server1.myserver.com -p 389 -t 10
ここで、-h
、-p
および-t
は、それぞれホスト、ポートおよびタイムアウトを表します。
その他のパラメータは、次のようにcommand
パラメータに追加のオプション引数を指定することで外部実行可能ファイルに渡すことができます。
/path/myhcscript --secure -d /dbpath
同様に、Oracle Traffic Directorは追加引数を次のように外部実行可能ファイルに渡します。
/path/myhcscript --secure -d /dbpath -h server1.myserver.com -p 389 -t 10
Oracle Traffic Directorは、オリジン・サーバー・ポート・タイプ(LDAP over SSLなど)を自動的には実行可能ファイルに渡しません。実行可能ファイルにタイプ情報が必要な場合、コマンド文字列で追加引数としてタイプ情報を指定するか(前述の例)、またはヘルス・チェック・プログラム/スクリプトでタイプ情報をハードコード化したり他のリソースから取得したり(たとえば、それ自体の構成ファイルまたは環境変数)することができます。
さらに、外部実行可能ファイルではタイムアウト値を考慮し、タイムアウトする前に実行を終了してステータスを戻すことをお薦めします。タイムアウトが発生し実行が終了していない場合、Oracle Traffic Directorはプロセスを終了してサーバー・ステータスをオフラインに設定します。
Oracle Traffic Directorは、環境変数OTD_LOG_LEVEL
を通じて外部プログラムに構成済ロギング・レベルを渡し、その環境変数の値は整数です。外部実行可能ファイルでは、ロギング・レベルに基づいてロギング・メッセージの量をカスタマイズできます。次の表は、Oracle Traffic Directorロギング・レベルと引数値の間のマッピングを定義します。
表14-3 Oracle Traffic Directorロギング・レベルおよび引数値のマッピング
値 | Oracle Traffic Directorロギング・レベル |
---|---|
0 |
NOTIFICATION:1以上 |
1 |
TRACE:1 |
2 |
TRACE:16 |
3 |
TRACE:32 |
Oracle Traffic Directorは、内容を外部実行可能ファイルのサーバー・ログの単一ログ・エントリで標準出力および標準エラーの両方にロギングします。コマンド・ヘルス・チェック・スクリプトの終了ステータスが0の場合、メッセージはTRACE:1レベルでロギングされます。そうでない場合、標準出力がNOTIFICATION:1レベルでロギングされ、標準エラーがWARNING:1レベルでロギングされます。