![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Intelligent Management: plugin-cfg.xml ファイルの生成の制御
オンデマンド・ルーター (ODR) で自動的に生成された plugin-cfg.xml ファイルのデフォルトの属性値は、オーバーライドできます。
以下のエレメントは com.ibm.ws.odr.plugincfg.<element>.<attributeName> のようにフォーマット設定されています。ここで、<element> は属性を含むエレメントを示す構成ファイル・キーワードの名前、<attributeName> は、そのエレメント内にある属性の名前です。エレメントを JVM システム・プロパティーとして構成します。管理コンソール で ODR の JVM システム・プロパティーを設定するには、
とクリックします。構成
このエレメントは、プラグイン構成ファイルを開始します。このエレメントには、以下のエレメントおよび属性を 1 つ以上組み込むことができます。
- com.ibm.ws.odr.plugincfg.config.ASDisableNagle
- ユーザーが、プラグインとサーバーとの間の接続に対して Nagle のアルゴリズムを使用不可にしようとしているかどうかを指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.AcceptAllContent
- Content-Length または Transfer-encoding ヘッダーが要求ヘッダーに含まれている場合に、コンテンツを POST、PUT、GET、および HEAD 要求に組み込むことができるかどうかを指定します。この属性には、次のいずれかの値を指定できます。
- true は、すべての要求に対してコンテンツが予想されており、読み取られる場合に指定します。
- false は、POST および PUT 要求に対してのみコンテンツが予想され、読み取られる場合に指定します。
デフォルト値は false です。
デフォルト値は true です。
- com.ibm.ws.odr.plugincfg.config.AppServerPortPreference
- sendRedirect に対して URL を作成するために使用するポート番号を指定します。
デフォルト値は HostHeader です。
- com.ibm.ws.odr.plugincfg.config.ChunkedResponse
- Transfer-Encoding : Chunked 応答ヘッダーが応答内に存在する場合に、プラグインがクライアントへの応答をグループ化するかどうかを指定します。
この属性には、次の値のいずれかを指定してください。
- Transfer-Encoding : Chunked 応答ヘッダーが応答内に存在する場合に、プラグインがクライアントへの応答をチャンクとしてまとめる場合は true。
- false は、応答をチャンク化しない場合に指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.IISDisableNagle
- nagle アルゴリズムを使用不可にするかどうかを指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.IISPluginPriority
- Web サーバーがプラグインをロードするときの優先順位を指定します。この属性には、次のいずれかの値を指定できます。
- High
- Medium
- Low
デフォルト値は High です。
- com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures
- 開始時に構成内の DNS 障害をプラグインが無視するかどうかを指定します。true に設定されていると、プラグインは構成内の DNS 障害を無視し、各 ServerCluster 内の少なくとも 1 つのサーバーがホスト名を解決した場合は、プラグインは正常に開始します。ホスト名が解決されないサーバーは、構成の存続期間中は使用不可 とマークされます。
その後、要求のルーティング時にホスト名は解決されません。DNS 障害が発生した場合、Web サーバーが開始されないのではなく、プラグインのログ・ファイルにログ・メッセージが書き込まれ、プラグインの初期化が継続されます。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.RefreshInterval
- プラグインが構成ファイルで更新または変更がないかどうかを確認する時間間隔 (秒)。
プラグインはファイルを検査して、プラグイン構成がロードされてから行われた変更を調べます。
デフォルト値は 60 です。頻繁に変更が行われる開発環境では、60 秒以内の時間間隔を設定してください。 実動環境では、構成に対する更新はそれほど頻繁には行われないため、デフォルトよりも大きい値を設定してください。 プラグインの再ロードに失敗した場合は、そのプラグインのログ・ファイルにメッセージが書き込まれ、 再ロードが成功するまでの間は、前の構成が使用されます。 エラーが発生した場合の詳細については、プラグインのログ・ファイルを参照してください。
- com.ibm.ws.odr.plugincfg.config.ResponseChunkSize
- プラグイン・ファイルは、応答データがすべて読み取られるまで、応答の本文を 64k のチャンク単位で読み取ります。
このため、応答の本文に大量のデータを含む要求の場合は、パフォーマンスの問題が発生します。
応答の本文を読み取る場合に使用する最大チャンク・サイズを指定するには、この属性を使用します。 例えば、Config ResponseChunkSize="N"> の場合、 N はキロバイト単位のチャンク・サイズです。
応答本文のコンテンツ長が不明の場合は、N キロバイトのバッファー・サイズが割り振られ、 本文は、その全体が読み取られるまで N キロバイト・サイズのチャンク単位で読み取られます。 コンテンツ長が分かっている場合は、コンテンツ長または N のいずれかのバッファー・サイズを使用して、応答の本文を読み取ります。
デフォルトのチャンク・サイズは 64k です。
- com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat
- 仮想ホストの突き合わせにポート番号を使用することを指定します。指定できる値は以下のとおりです。
- true。要求を受信するポート番号を使用して、物理的に突き合わせを行う場合。
- false。ホスト・ヘッダーに含まれているポート番号を使用して、論理的に突き合わせを行う場合。
デフォルトは False です。
- com.ibm.ws.odr.plugincfg.odrIncludeStopped
- 停止された ODR の組み込みの許可を指定します。指定できる値は以下のとおりです。
- True: 停止された ODR を組み込みます。
- False: 停止された ODR を組み込みません。
デフォルトは False です。
- com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable
- 信頼できるプロキシーを指定します。指定できる値は以下のとおりです。
- True: 信頼できるプロキシーを組み込みます。
- False: 信頼できるプロキシーを組み込みません。
デフォルトは False です。信頼できるプロキシーは、
管理コンソール・ページの、定義済みのトラステッド・セキュリティー・プロキシーから収集されます。
ログ (Log)
ログは、プラグインがログ・メッセージを書き込む場合のロケーションとレベルを示します。 構成ファイル内に log が指定されていない場合は、エラー・ログにログ・メッセージが書き込まれることがあります。
- com.ibm.ws.odr.plugincfg.log.Name
- プラグインがエラー・メッセージを書き込むログ・ファイルへの完全修飾パス。
デフォルト値は profileRoot/logs/http_plugin.log です。
- com.ibm.ws.odr.plugincfg.log.LogLevel
- プラグインがログに書き込むログ・メッセージの詳細レベル。この属性には、次の値のいずれかを指定してください。
- トレース。要求プロセスのすべてのステップの詳細がログに記録されます。
- 状態。それぞれの要求に対して選択されたサーバー、および、要求の処理に関するその他のロード・バランシング情報がログに記録されます。
- 警告。異常な要求処理の結果出された、すべての警告およびエラー・メッセージがログに記録されます。
- エラー。異常な要求処理の結果出された、エラー・メッセージのみがログに記録されます。
- デバッグ。要求の処理中に実行された重大なステップがすべてログに記録されます。
- 詳細。要求および応答に関するすべての情報がログに記録されます。
デフォルト値は Error です。注意:トレースのレベルでは多数のメッセージがログに記録されるため、ファイル・システムが急速に満杯になる可能性があります。 正常に機能している環境では、パフォーマンスに悪影響を与えるため、トレース設定は使用しないでください。
ServerCluster
このエレメントは、一般的に同じタイプの要求を処理するように構成されているサーバーのグループです。
最も単純なケースでは、クラスターに含まれるサーバー定義は 1 つだけです。複数のサーバーを定義すると、プラグインは、ラウンドロビン・アルゴリズムまたはランダム・アルゴリズムのいずれかを使用して、 定義されているサーバー全体にわたるロード・バランシングを完了します。 デフォルトはラウンドロビンです。
- com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange
- 一部のパーベイシブ・デバイスは、セッション・アフィニティーと連動するクローン ID を区切るために使用されるコロン文字 (:) を処理できません。
この属性は、クローンの分離文字に正符号文字 (+) を使用するようプラグインに指示します。
サーバーでも同様に、クローン ID を正符号文字で分離するように構成を変更する必要があります。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.cluster.LoadBalance
- ラウンドロビン実装の出発点はランダムです。
最初のサーバーはランダムに選択され、その時点以降は、ラウンドロビン値を使用してサーバーが選択されます。
この実装により、プロセス・ベースの複数の Web サーバーでは、同一のサーバーに最初の要求を送信しても、
すべてのプロセスが開始しないことが保証されます。
デフォルトのロード・バランシング・タイプは「ラウンドロビン」です。
- com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit
- プラグインがサーバーに要求の送信を試みる際に許可されている要求内容の最大バイト数。
プラグインは、このサイズを超える要求を受信すると、その要求を終了します。
デフォルト値は -1 バイトです。この値は、ポスト・サイズに制限がないことを示しています。
- com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders
- プラグインは、特殊なヘッダーを要求に追加してから、その要求をサーバーに送信します。
これらのヘッダーには、その後にアプリケーションが使用する要求に関する情報が格納されています。
デフォルトでは、プラグインは着信要求からこれらのヘッダーを除去してから、必要なヘッダーを追加します。
デフォルト値は true です。この属性を false に設定すると、着信要求からヘッダーが除去されないため、 機密漏れが生じる可能性があります。
- com.ibm.ws.odr.plugincfg.cluster.RetryInterval
- サーバーが停止したとマークされた時刻から、プラグインが接続を再試行する時刻までの間に経過する時間長を指定する整数。
デフォルト値は 60 秒です。
サーバー
このエレメントは、送信された要求を、プラグイン構成のルーティング・ルールに基づいて 処理するよう構成されているサーバー・インスタンスです。server エレメントは、ローカル・ワークステーションまたはリモート・ワークステーションのいずれかで稼働しているアプリケーション・サーバーに対応しています。
- com.ibm.ws.odr.plugincfg.server.ServerIOTimeout
- プラグインが、サーバーに要求を送信し、サーバーから応答を読み取る場合のタイムアウト値 (秒) を設定できるようにします。この属性の値を選択する際には、以下を考慮してください。
- サーバーが要求を処理するのに数分かかることがあります。 ServerIOTimeout 属性に低すぎる値を設定すると、プラグインが偽のサーバー・エラー応答をクライアントに送信することがあります。
- 値が設定されないと、プラグインはデフォルト値を使用して、TCP 接続がタイムアウトになるまで、サーバーに要求を書き込んだり、サーバーから応答を読み取ったりします。 デフォルト値は 900 です。
- 注: 古い製品バージョンでは、デフォルト値は 0 です。プラグインがデフォルトのタイムアウト値である 0 を使用すると、エラーが発生することがあります。
ServerIOTimeout 属性の構成方法について詳しくは、Web サーバー・プラグイン構成の技術情報を参照してください。
- com.ibm.ws.odr.plugincfg.server.ConnectTimeout
- プラグインがアプリケーション・サーバーとの非ブロッキング接続を実行できるようにします。
非ブロッキング接続は、プラグインが宛先に接続して、ポートが使用可能であるか、使用不可であるかを判別できない場合に役立ちます。
値が指定されていない場合、プラグインはブロッキング接続を実行して、オペレーティング・システムがタイムアウトになり、 そのサーバーに使用不可 とマークすることが許可されるまで、その接続で待機します。 0 よりも大きい値は、正常に接続するまでプラグインが待機する秒数を指定します。 その時間間隔を経過しても接続に成功しない場合、プラグインはそのサーバーを使用不可 とマークして、 クラスターで定義されている別のサーバーのいずれかに移動します。
デフォルト値は 0 です。
- com.ibm.ws.odr.plugincfg.server.ExtendedHandShake
- プロキシー・ファイアウォールがプラグインとアプリケーション・サーバーとの間にある場合に使用されます。
そのような場合、予期されるとおり、プラグインはフェイルオーバーを行いません。
connect() が終了すると、プラグインはサーバーを停止済みとマークします。 ただし、プロキシー・ファイアウォールがプラグインとアプリケーション・サーバーの間にある場合は、 バックエンド・アプリケーション・サーバーが停止しても、connect() は成功します。 つまり、プラグインは他のアプリケーション・サーバーに正しくフェイルオーバーされないことになります。
この属性は、要求を送信する前に必ずプラグインが開始されるようにするために、プラグインに指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.server.MaxConnections
- 任意の時点において Web サーバー・プロセスを流れる、サーバーに対する保留中の接続の最大数を指定します。
デフォルト値は -1 に設定されています。
- com.ibm.ws.odr.plugincfg.cluster.WaitForContinue
- 要求内容をアプリケーション・サーバーに送信する前に、HTTP 1.1 100 Continue サポートを使用するかどうかを指定します。
デフォルト値は false です。プラグインは、アプリケーション・サーバーからの 100 Continue 応答を待たずに要求内容を送信します。
アプリケーション・サーバーがタイムアウトが原因で接続を閉じた場合に障害が発生しないようにするため、 このプロパティーは POST 要求に関しては無視されます。
特定のタイプのプロキシー・ファイアウォールと連携するようプラグインを構成する場合は、この機能を使用可能にします。
プロパティー
- com.ibm.ws.odr.plugincfg.property.ESIEnable
- Edge Side Include (ESI) プロセッサーを使用可能または使用不可にする場合に使用します。
ESI プロセッサーが使用不可になっている場合、ファイル内の他の ESI エレメントは無視されます。
デフォルト値は true です。
- com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize
- キャッシュの最大サイズを指定する整数 (1K バイト単位)。 デフォルトの最大キャッシュ・サイズは 1024 K バイト (1 M バイト) です。キャッシュが満杯になると、その有効期限に最も近いエントリーがキャッシュから除去されます。
- com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor
- ESI プロセッサーがアプリケーション・サーバーから無効状態を受け取るかどうかを示します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.property.https.keyring
- このエレメントは、トランスポートのプロトコルが HTTPS に設定されている場合に、初期化パラメーターを指定するために使用します。
この属性は、トランスポートが認識する、サポート対応の名前です。 鍵リング・エレメントのデフォルト値は profileRoot/etc/plugin-key.kdb です。
- com.ibm.ws.odr.plugincfg.property.https.stashfile
- stash ファイルのデフォルト値は、profileRoot/node/etc/plugin-key.sth です。
- com.ibm.ws.odr.plugincfg.property.PluginInstallRoot
- プラグインのインストール・パスを指定します。デフォルト値は "" です。値を設定します。ただし、プラグインのインストール・ルートの完全修飾パスを指定してください。そうしないとプロパティーが plugin-cfg.xml ファイルに表示されません。
plugin-cfg.xml ファイルの生成に関する考慮事項
- 自動生成を使用不可にします。 セル・カスタム・プロパティー ODCPluginCfgDisabled_<genDefID> を true に設定します。
- 新しいプラグインを生成するには、次のコマンドを実行します。
各部の意味は、次のとおりです。<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs <generationDefinitionIDs> <nodeName> <serverName>
- generationDefinitionIDs
- これは、フォーム ODCPluginCfg_<genDef> のコンマで区切られた HAPluginCfgGeneration ID のリストです。
- nodeName
- これは、生成を実行するノードの名前です。
- serverName
- これは、生成を実行するプロセス名です。
どの Intelligent Management 拡張プロセスも、要求に応じて HAPluginCfgs 構成を生成することができます。ただし、XDAGENT プロセスは例外です。
以下に例を示します。
<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs ODCPluginCfg_1,ODCPluginCfg_2 dmgrNodeName dmgr
ODCPluginCfgMinGenerationDelay = 10
構成された HAPluginCfgGeneration 定義は最大でも 10 分間隔で再生成されます。
生成プログラムが pluginCfgs を再作成する通知を受け取ると、生成プログラムはこの 10 分間に書き込まれた pluginCfgs の生成を遅らせます。ODR 生成の plugin-cfg.xml ファイルが再生成される頻度を制限するには、JVM プロパティー com.ibm.ws.odr.plugincfg.minGenerationDelay を、生成の時間間隔 (分) を表す値に設定して、ODR を反復してください。
デフォルトでは、停止された ODR プロセスを生成された plugin-cfg.xml ファイルに入れるために、構成された静的ランタイム・ウェイト値が使用されます。
- HAPluginCfgGenerator の場合は、セル・カスタム・プロパティー ODCPluginCfgOdrIncludeStoppedStatic を false に設定します。
- ODR 生成の plugin-cfg.xml ファイルの場合は、JVM プロパティー com.ibm.ws.odr.plugincfg.odrIncludeStoppedStatic を false に設定して、ODR を反復します。