plugin-cfg.xml ファイル
plugin-cfg.xml ファイルには、Web サーバー・プラグインが要求を転送する方法を決定する構成情報が含まれています。
WebSphere Application Server traditional
アプリケーション中心およびトポロジー中心の 2 つのタイプの plugin-cfg.xml ファイルを作成することができます。

アプリケーション中心構成ファイルには、Web サーバーとアプリケーション・サーバーの両方の定義にマップされているアプリケーションがあります。管理コンソールを使用してプラグインに対して行った変更の内容は、生成時に plugin-cfg.xml ファイルで保持されます。 アプリケーション中心構成により、柔軟性の向上と Intelligent Management などの動的機能の支援が提供されます。
トポロジー中心のファイルは、環境内で定義されているすべてを表します。通常、この plugin-cfg.xml ファイルは、Web サーバーを定義していない場合に使用されます。
- plugin-cfg.xml ファイルが app_server_root¥dmgr¥cells ディレクトリーに存在する場合は、プラグイン生成プロセスで、管理コンソールの パネルで更新された値が無視され、この XML ファイルにある既存の値が使用されます。この場合は、更新された値が保持されるように手動で XML ファイルを更新する必要があります。
- plugin-cfg.xml ファイルが app_server_root¥dmgr¥cells ディレクトリーに存在しない場合は、プラグインの生成プロセスで plugin-cfg.xml ファイルが作成されます。 この場合、管理コンソール内の パネルで設定した最新の値が、プロセスで保持されます。


Liberty
お使いのサーバーと同じ Java SDK 内から WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig MBean を呼び出すことにより、Liberty サーバー用の plugin-cfg.xml ファイルを生成できます。
エレメントと属性
plugin-cfg.xml ファイルには、 次のエレメントと属性が組み込まれています。特に指示がない限り、各エレメントおよび属性は、plugin-cfg.xml ファイルの中で 1 回しか指定できません。Config エレメントは必須です。
- 構成
- IgnoreDNSFailures
- RefreshInterval
- ASDisableNagle
IISDisableNagle
- VHostMatchingCompat
- AppServerPortPreference
- ResponseChunkSize
- AcceptAllContent
- ChunkedResponse
- ESIEnableToPassCookies
- GetDWLMTable
OS400ConvertQueryStringToJobCCSID
- ログ (Log)
- Property Name="esiEnable" Value="true/false"
- Property Name="esiMaxCacheSize" Value="integer"
- Property Name="ESIInvalidationMonitor" Value="true/false"
- Property Name="FIPSEnable" Value="true/false"
- Property Name="PluginInstallRoot" Value="C:¥IBM¥WebSphere¥Plugins"
- ServerCluster
- VirtualHostGroup
- UriGroup
- 経路 (Route)
- RequestMetrics
構成
この必須エレメントは、HTTP プラグイン構成ファイルを始動します。
IgnoreDNSFailures
プラグインが、開始時に構成内の DNS 障害を無視するかどうかを指定します。true に設定すると、プラグインは構成内の DNS 障害を無視し、 各 ServerCluster で少なくとも 1 つのサーバーがホスト名を解決できる場合、正常に開始します。 ホスト名を解決できないサーバーは、構成の間 unavailable としてマーク付けされます。 要求のルーティング時にホスト名の解決は試行されません。DNS 障害が発生した場合、Web サーバーの開始が阻止されるのではなく、プラグイン・ログ・ファイルにログ・メッセージが書き込まれ、プラグインの初期化が継続されます。デフォルト値は false です。 この場合は、DNS 障害があると Web サーバーは始動しません。
RefreshInterval
更新または変更が行われたかどうかを確認するために、プラグインが構成ファイルを検査する時間間隔を秒で指定します。プラグインはファイルをチェックして、プラグイン構成が最後 にロードされてから変更が行われたかどうかを調べます。
ASDisableNagle
プラグインとアプリケーション・サーバー間の、 接続の Nagle アルゴリズムを使用不可にしたいかどうかを指定します。 デフォルトでは、Nagle アルゴリズムは使用可能です。
値は、true または false のいずれかです。
![[Windows]](../images/windows.gif)
IISDisableNagle
Microsoft Internet Information Services (IIS) 上の、Nagle アルゴリズムを使用不可にするかどうかを指定します。デフォルトでは、Nagle アルゴリズムは使用可能です。
値は、true または false のいずれかです。
VHostMatchingCompat
- true は、 要求を受信したポート番号を使用して物理的にマッチングを行う場合に指定します。
- false は、 ホストのヘッダーに含まれるポート番号を使用して論理的にマッチングを行う場合に指定します。
デフォルト値は false です。
AppServerPortPreference
- hostHeader は、着信する HTTP 要求のホスト・ヘッダーにあるポート番号を 使用する場合に指定します。
- webserverPort は、Web サーバーが要求を受信したポート番号を使用する場合に 指定します。
デフォルト値は hostHeader です。
ResponseChunkSize
応答本体を読み取るときに使用する最大チャンク・サイズを指定します。例えば、Config ResponseChunkSize="N"> と指定します。N はキロバイト単位のチャンク・サイズです。
プラグインは、すべての応答データが読み取られるまで、64 K チャンクの応答 本文を読み取り続けます。 このアプローチは、要求の応答本文に大量のデータが含まれている場合にパフォーマンスに問題が生じる原因となります。
応答本文の内容の長さがわからない場合には、 N KB のバッファー・サイズが割り振られ、本文がすべて読み取られるまで、N KB サイズのチャンク単位で 読み取られます。 内容の長さがわかっている場合には、内容の長さまたは N のうち、少ないほうのバッファー・サイズが使用され、応答本文を読み取ります。
デフォルト・チャンク・サイズは、64 K です。
AcceptAllContent
- True は、すべての要求に対してコンテンツが予想されており、読み取られる場合に指定します。
- False は、POST および PUT 要求に対してのみコンテンツが予想され、読み取られる場合に指定します。
デフォルト値は True です。
ChunkedResponse
クライアントに対する応答内に Transfer-Encoding: Chunked という応答ヘッダーがある場合に、プラグインがその応答にチャンクを使用する必要があるかを指定します。
この属性は、IIS、Oracle iPlanet、および Lotus® Domino® の Web サーバーにのみ適用されます。IBM® HTTP Server では、クライアントに対する応答のチャンク化は自動で処理されます。
この属性には、次の値のいずれかを指定してください。
- true は、 クライアントに対する応答内に Transfer-Encoding : Chunked という応答ヘッダーがある場合に、 プラグインでその応答をチャンク化する場合に指定します。
- false は、応答をチャンク化しない場合に指定します。
デフォルト値は false です。
ESIEnableToPassCookies
ESI インクルード要求を処理する場合に、WebSphere Application Server へのセッション Cookie の転送を許可するかどうかを指定します。この値を true に設定すると、 このカスタム・プロパティーは有効です。この値を false に設定すると、 このカスタム・プロパティーは無効です。デフォルトでは、値は false に設定されます。
GetDWLMTable
新規作成されたプラグイン・プロセスで、事前に WebSphere Application Server からパーティション・テーブルを要求してから HTTP 要求を処理することを許可するかどうかを指定します。このカスタム・プロパティーが使用されるのは、メモリー間セッション管理が構成されている場合のみです。 この値を true に設定すると、 このカスタム・プロパティーは有効です。この値を false に設定すると、 このカスタム・プロパティーは無効です。デフォルトでは、値は false に設定されます。
![[IBM i]](../images/iseries.gif)
OS400ConvertQueryStringToJobCCSID
HTTP 要求の照会ストリングを、内部処理のために IBM HTTP Server ジョブのコード・ページに変換するか、あるいは、 EBCDIC コード・ページ 37 に変換するかを指定します。デフォルト値は false で、これにより、照会ストリングは EBCDIC コード・ページ 37 に変換されます。
TrustedProxyEnable
Web サーバー・プラグインと、TrustedProxyList カスタム・プロパティーにリストされているプロキシー・サーバーおよびロード・バランサーとのインターフェースを許可します。このプロパティーを true に設定すると、このトラステッド・プロキシー・リストにあるプロキシー・サーバーおよびロード・バランサーでは、$WSRA および $WSRH という内部ヘッダーに値を設定することができます。$WSRA 内部ヘッダーは、リモート・ホスト (通常はブラウザー) の IP アドレス、またはネットワーク・アドレス変換 (N.A.T.) で取得される内部アドレスです。$WSRH 内部ヘッダーは、リモート・ホストのホスト名です。このヘッダー情報により、Web サーバー・プラグインは特定のプロキシー・サーバーまたはロード・バランサーとインターフェースを行うことができます。
このカスタム・プロパティーを使用すると、トラステッド・プロキシー・サーバーやロード・バランサーのリストを指定するために、TrustedProxyList カスタム・プロパティーも使用する必要があります。また、管理コンソール内の「要求ルーティング (Request Routing)」パネルにおける「特殊ヘッダーの除去 (Remove special headers)」チェック・ボックスをクリアする必要があります。詳しくは、Web サーバー・プラグインの要求ルーティング・プロパティーに関する資料を参照してください。
TrustedProxyList
この Web サーバー・プラグインとのインターフェースが許可されているすべてのプロキシー・サーバーまたはロード・バランサーのコンマで区切ったリストを指定します。このプロパティーは、TrustedProxyEnable=true カスタム・プロパティー設定と一緒に使用する必要があります。TrustedProxyEnable カスタム・プロパティーが false に設定されている場合、このリストは無視されます。
SSLConsolidate
Web サーバー・プラグインが、新規 SSL トランスポートのそれぞれのセットアップを、構成ファイルで既に定義されている他の SSL トランスポートのセットアップと比較するかどうかを指定します。このプロパティーを true に設定している状態で、新規 SSL トランスポートに指定された鍵リングと CertLabel の値が、既に定義済みの SSL トランスポートに指定された値と一致しているとプラグインが判断した場合、プラグインは新規 SSL 環境を作成せずに、既存の SSL 環境を使用します。作成する SSL 環境が少なければ、プラグインに必要なメモリーが少なくて済み、プラグインの初期化時間が短縮されるため、GSkit 環境全体を最適化することができます。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
SSLPKCSDriver
オプションの SSL コプロセッサーとインターフェースするロード可能なモジュールの完全修飾名を指定します。完全修飾名には、ディレクトリー・パスとモジュール名が含まれている必要があります。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
SSLPKCSPassword
SSLPKCSDriver カスタム・プロパティーに対して指定されたモジュールがインターフェースとして機能する SSL コプロセッサーのパスワードを指定します。
IBM HTTP Server を使用している場合は、sslstash プログラムを使用して、このパスワードを含むファイルを作成することができます。この場合、このカスタム・プロパティーの値として、実際のパスワードではなく、そのファイルの完全修飾名を指定できます。
ログ (Log)
プラグインがログ・メッセージを書き込む場合のロケーションとレベルを示します。構成ファイル内にログ・エレメントが指定されていないと、場合によっては、Web サーバーのエラー・ログにログ・メッセージが書き込まれます。
例えば、以下のコード行の指定が必要です。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
<Log LogLevel="Error" Name="/opt/WebSphere/AppServer60/logs/http_plugin.log"/>
![[z/OS]](../images/ngzos.gif)
<Log LogLevel="Error" Name="/log_directory/file_name"/>
- 名前
プラグインがエラー・メッセージを書き込むログ・ファイルへの完全修飾パスを指定します。ログごとに必ず 1 つの属性を指定します。
ファイルが存在しない場合は、作成されます。ファイルが存在する場合は、ファイルは付加モードで開かれ、それまでのプラグイン・ログ・メッセージは残ります。
移行ユーザーの方へ: バージョン 7 からは、プラグイン・ログ・ファイルに 指定する名前には、日時スタンプおよびプロセス ID は付加されなくなりました。したがって、日付で区別される複数のログ・ファイルではなく、単一の Web サーバー・プラグイン・ログ・ファイルが作成されます。trns
- LogLevel
プラグインがログに書き込むログ・メッセージの詳細のレベルを指定します。各ログに対して、ゼロまたは次の値のいずれかを指定してください。
ログ・レベルの値 ログ・レベルの説明 トレース 要求プロセスのすべてのステップの詳細がログに記録されます。 Stats それぞれの要求に対して選択されたサーバー、および、要求の処理に関するその他のロード・バランシング情報がログに記録されます。 警告 異常な要求処理の結果出された、すべての警告およびエラー・メッセージがログに記録されます。 エラー 異常な要求処理の結果出された、エラー・メッセージのみがログに記録されます。 デバッグ 要求の処理中に実行された重大なステップがすべてログに記録されます。 Detail 要求および応答に関するすべての情報がログに記録されます。 ログ・エレメントに対して LogLevel 値が指定されていない場合、デフォルト値には「エラー」が使用されます。
トラブルの回避 (Avoid trouble): レベルを「トレース」に設定する場合は、注意してください。 このレベルでは複数のメッセージが記録されるため、ディスク容量が急速に減る可能性があります。「トレース」の設定は、パフォーマンスに悪い影響を与えるため、正常に機能している環境では使用しないでください。gotcha
トラブルの回避 (Avoid trouble): レベルを「トレース」に設定する場合は、注意してください。 このレベルでは複数のメッセージが記録されるため、ファイル・システムの容量が急速に減る可能性があります。「トレース」の設定は、パフォーマンスに悪い影響を与えるため、正常に機能している環境では使用しないでください。gotcha
Property Name="esiEnable" Value="true/false"
Edge Side Include (ESI) プロセッサーを使用可能または使用不可にします。 ESI プロセッサーが使用不可になっている場合は、このファイル内のその他の ESI エレメントは無視されます。
Value は、true または false に設定できます。デフォルトでは、ESI プロセッサーは値が false に設定され、使用不可になっています。
Property Name="esiMaxCacheSize" Value="integer"
キャッシュの最大サイズを 1 KB 単位で指定します。デフォルトの最大キャッシュ・サイズは、1024 KB (1 MB) です。キャッシュが満杯の場合は、有効期限に最も近いエントリーがキャッシュから除去されます。
Property Name="ESIInvalidationMonitor" Value="true/false"
ESI プロセッサーがアプリケーション・サーバーから無効化を受け取るかを指定します。
Value は、true または false に設定できます。デフォルトでは、このプロパティーは false に設定されています。
Property Name="FIPSEnable" Value="true/false"
アプリケーション・サーバーへの Secure Sockets Layer (SSL) 接続を行うために、連邦情報処理標準 (FIPS) を使用可能にするかを指定します。アプリケーション・サーバー上で FIPS が使用可能となっている場合は、このプロパティーを true に設定してください。
Value の値は、true または false に設定できます。デフォルトでは、このプロパティーは false に設定されています。
Property Name="PluginInstallRoot" Value="C:¥IBM¥WebSphere¥Plugins"
プラグインのインストール・パスを指定します。WebSphere Application Server は、Global Security Kit (GSKit) のグローバル・インストールではなく、ローカル・インストールをサポートするため、GSKit を使用する場合、このプロパティーは必須です。属性値は、プラグイン・インストール・ルートへの完全修飾パスに設定します。
サポートされている名前でトランスポートが認識するのは、 鍵リング (keyring)、stash ファイル (stashfile)、およびパスワード (password) です。デフォルトでは、このプロパティーは none に設定されています。
ServerCluster
同じタイプの要求を処理するように通常構成されているサーバーのグループを指定します。各構成に対して、1 つ以上のクラスターを指定してください。
最も単純なケースでは、クラスターに含まれるサーバー定義は 1 つだけです。複数のサーバーが定義されている場合は、プラグインが、ラウンドロビンまたはランダムのアルゴリズムを使用して、定義されたサーバー全体のロード・バランスを行います。デフォルトのアルゴリズムはラウンドロビンです。
以下のコードは、ServerCluster エレメントの例です。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
<ServerCluster Name="Servers">
<ClusterAddress Name="ClusterAddr">
<Transport Hostname="192.168.1.2" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</ClusterAddress>
<Server Name="Server1">
<Transport Hostname="192.168.1.3" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.3" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<Server Name=Server2>
<Transport Hostname="192.168.1.4" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.4" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<Server Name="Server3">
<Transport Hostname="192.168.1.5" Port="9080" Protocol="HTTP"/>
<Transport Hostname="192.168.1.5" Port="9443" Protocol="HTTPS">
<Property Name="Keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
<Property Name="Stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="Server1"/>
<Server Name="Server2"/>
</PrimaryServers>
<BackupServers>
<Server Name="Server3"/>
</BackupServers>
</ServerCluster>
![[z/OS]](../images/ngzos.gif)
<ServerCluster CloneSeparatorChange="false"
LoadBalance="Round Robin" Name="Cluster1"
PostSizeLimit="10000000" RemoveSpecialHeaders="true"
RetryInterval="60">
<Server
CloneID="BA36BEC1EB243D8B000000E4000000030926301B"
ConnectTimeout="0" ExtendedHandshake="false"
LoadBalanceWeight="2" MaxConnections="0"
Name="SY1_ClusterMember1" WaitForContinue="false">
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9084" Protocol="http"/>
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
<Property Name="Keyring" value="safkeyring:///mzjring1/"/>
<Property Name="Stashfile" value=""""/>
<Property Name="certLabel" Value="selfsigned"/>
</Transport>
</Server>
<Server CloneID="BA36BED017FDF40E000000E4000000030926301B"
ConnectTimeout="0" ExtendedHandshake="false"
LoadBalanceWeight="2" MaxConnections="0"
Name="SY1_ClusterMember2" WaitForContinue="false">
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9085" Protocol="http"/>
<Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
<Property Name="Keyring" value="safkeyring:///mzjring1/">
<Property Name="Stashfile" value=""""/>
<Property Name="certLabel" Value="selfsigned"/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="SY1_ClusterMember1"/>
<Server Name="SY1_ClusterMember2"/>
</PrimaryServers>
</ServerCluster>

z/OS PTF UK35083 パッケージには、z/OS HTTP Server バージョン 5.3 の SSL インターフェースの変更 (この Web サーバー・プラグインの変更に対応するもの) が含まれています。したがって、新規の Web サーバー・プラグイン SSL インターフェースが正常に機能するには、この PTF をシステムに適用する必要があります。
また、IBM HTTP Server for z/OS (バージョン 5.3) の httpd.conf ファイルに SSLMODE=MULTI オプションを組み込む必要があります。SSLMODE=ON オプションは、バージョン 7.0 以降ではサポートされていません。
httpd.conf ファイルで SSLMode multi オプションが指定されていない場合、あるいは z/OS PTF UK35083 パッケージがシステムに適用されていない場合、エラー・メッセージ IMW0584W を受け取ることがあります。このメッセージは、HTTP Server に指定されている SSL モードが、IBM HTTP Server for z/OS (バージョン 5.3) で使用される Web サーバー・プラグインの SSL モードと互換性がないことを示します。このどちらの場合も、 予測不能な結果が生じる可能性があります。
- kdb ファイルを stash ファイルと共に階層ファイル・システム (HFS) で使用する場合は、前の例で示したように、Property Name=keyring エレメントと Property Name=stashfile エレメントを指定します。
トラブルの回避 (Avoid trouble): これらのエレメントに指定する値のフォーマットは、本製品の以前のバージョンで指定したものとは異なります。gotcha
- kdb ファイルではなく System Authorization Facility (SAF) 鍵リングを使用する場合、管理コンソールから 2 つのカスタム・プラグイン・プロパティーを作成してください。
- KeyringLocation
- このプロパティーの値として、SAF 鍵リングのディレクトリー・ロケーションを設定します。この構成変更を保存すると、このディレクトリー・ロケーションが plugin-cfg.xml ファイル内の keyring プロパティーの値となります。
- StashfileLocation
- このプロパティーの値として、「""」(ヌル) を指定します。この構成変更を保存すると、「""」(ヌル) が plugin-cfg.xml ファイルの stashfile プロパティーの値となります。
管理コンソールから KeyringLocation およびStashfileLocation を作成する手順については、Web サーバー・プラグインの構成プロパティーを参照してください。
SAF 鍵リングには、以下の例を使用してください。<Transport Hostname="appserver.example.com" Port="9443" Protocol="https"> <Property name="keyring" value="safkeyring:///SAF_keyring_name"/> <Property Name="stashfile" value=""""/> </Transport>
- 名前
このサーバー・グループで使用する論理名または管理名を指定します。ServerCluster ごとに 1 つの属性を指定します。
- LoadBalance
この属性で指定できる値は以下のとおりです。
Round Robin
ランダム
ラウンドロビン実装の出発点はランダムです。 最初のアプリケーション・サーバーはランダムに選出されます。 それ以降のアプリケーション・サーバーの選出には、Round Robin が使用されます。 この実装は、マルチプロセス・ベースの Web サーバーで、すべてのプロセスが 最初の要求を同じアプリケーション・サーバーに送信することによって始動しないようにします。
また、ランダム実装の出発点はランダムです。ただし、この実装では、後続のすべてのサーバーもまたランダムに選択されます。 したがって、同じサーバーが繰り返し選択される一方で、別のサーバーが使用されないままになる可能性があります。
デフォルトのロード・バランシング・タイプは Round Robin です。
- IgnoreAffinityRequests
ラウンドロビン・アルゴリズムに基づいてサーバーを選択したときにサーバーに送られる アフィニティー要求の数をプラグインが無視するかどうかを指定します。 ServerCluster ごとにゼロまたは属性を 1 つ指定します。値は、true または false です。値を false に設定すると、サーバー選択プロセスでは、 作成されるアフィニティー要求の数も考慮に入れられます。
デフォルト値は false です。これは、出されたアフィニティー要求の数がラウンドロビン・アルゴリズムで使用されることを意味します。
移行ユーザーの方へ: 移行ユーザーへ: これは製品の旧バージョンからの変更です。 WebSphere Application Server の旧バージョンではデフォルト値は true です。trns
- RetryInterval
サーバーがダウン状態のマークを付けられてからプラグインが接続を再試行するまでの、 時間の長さを指定する整数を指定します。デフォルトは 60 秒です。 ServerCluster ごとにゼロまたは属性を 1 つ指定します。
- RemoveSpecialHeaders
プラグインは、アプリケーション・サーバーに転送される前に、 要求に特殊なヘッダーを追加します。 これらのヘッダーには、アプリケーションが使用する要求に関する情報が保管されています。デフォルトでは、プラグインは、着信要求からこれらのヘッダーを除去してから、 必要なヘッダーを追加することになっています。 ServerCluster ごとにゼロまたは属性を 1 つ指定します。
値は、true または false のいずれかです。この属性を false に設定すると、 ヘッダーを着信要求から除去しないことになり、機密漏れのおそれが生じます。
- CloneSeparatorChange
クローン分離文字としてプラス記号 (+) を使用することを、プラグインに指示します。一部のパーベイシブ・デバイスは、セッション類縁性と連動するクローン ID を区切るために使用されるコロン文字 (:) を処理できません。 アプリケーション・サーバーでクローン ID を区切る際、プラス記号も使用するようにアプリケーション・サーバーの構成を変更してください。 ServerCluster ごとにゼロまたは属性を 1 つ指定します。
値は、true または false のいずれかです。
- PostSizeLimit
プラグインがアプリケーション・サーバーへの要求の送信を試行する場合に許容される要求内容の最大 KB (1024 バイト) ブロック数。このサイズよりも大きい要求を受信した場合、プラグインは、この要求の処理に失敗します。 デフォルト値は -1 バイトです。これは、ポスト・サイズに制限がないことを示しています。ServerCluster ごとにゼロまたは属性を 1 つ指定します。
- PostBufferSize
HTTP 要求のコンテンツを読み取る際に使用する最大バッファー・サイズを KB 単位で指定します。要求を最初に受信したアプリケーション・サーバーがその要求を処理できない場合、このバッファーに含まれるデータは別のアプリケーション・サーバーに送られます。そして、そのアプリケーション・サーバーで要求の処理が試行されます。コンテンツをバッファーに入れて、後で再試行させる要求を希望しない場合は、このオプションをゼロに設定することができます。
このオプションを指定すると、プラグインの可用性が 向上します。このオプションをゼロ以外の値に設定すると、ペイロードを含む処理中のパケットが、選択したアプリケーション・サーバーが応答しない場合に再送されます。
通常、POST 要求および PUT 要求がペイロードを伝送しますが、他の要求もペイロードを伝送する場合があります。 たとえ POST 要求あるいは PUT 要求がペイロードを伝送していない場合でも、このオプションの指定値がゼロ以外の場合は再試行されます。
デフォルト値は 0 です。ServerCluster ごとにゼロまたは属性を 1 つ指定します。
- ServerIOTimeoutRetry
HTTP プラグインが、ServerIOTimeout によりタイムアウトになった HTTP 要求を再試行する回数の制限を指定します。 デフォルト値の -1 は、再試行の回数に追加の制限が適用されないことを示します。 0 値は、再試行がないことを示します。再試行は、常に、クラスターで使用可能なサーバー数によって制限されます。
重要: このディレクティブは、HTTP プラグインの ConnectTimeout による接続障害やタイムアウトには適用されません。 - Serverプラグイン構成のルーティング・ルールに基づいて、ルーティングされる要求を処理するように構成された WebSphere Application Server のインスタンスを指定します。このサーバーは、ローカル・マシンまたはリモート・マシンで稼働しているアプリケーション・サーバーに対応しています。ServerCluster ごとにゼロまたは属性を 1 つ指定します。
- 名前
サーバーの管理名または論理名を指定します。Server ごとに必ず 1 つの属性を指定します。
- CloneID
要求の HTTP Cookie ヘッダー (または URL の再書き込みを使用している場合は URL) に、 この固有の ID がある場合は、プラグインは、その要求をこの特定のサーバーに送ります (ただし、他のすべてのルーティング・ルールが満たされている場合です)。 サーバーで CloneID が指定されていない場合は、このサーバーでは、 セッションのアフィニティーが使用可能になりません。 Server ごとにゼロまたは 1 つの属性の場合があります。
この属性は、セッション・アフィニティーとともに使用します。この属性を設定すると、プラグインは、 着信する Cookie ヘッダーまたは URL を調べて、JSESSIONID を探します。JSESSIONID が 検出されると、プラグインは、1 つ以上のクローン ID を検索します。 クローン ID が検出され、この属性に対して指定された値と一致すると、 要求は、クラスター全体でロード・バランシングされるのではなく、このサーバーに送信されます。
ベスト・プラクティス: セッション・アフィニティーを使用していない場合は、これらのクローン ID を構成から除去します。これらが設定されていると、プラグインで追加要求処理があるためです。クローン ID がプラグインにない場合は、セッション・アフィニティーが使用可能ではなく、クラスター全体で要求のロード・バランシングが行われているものと想定されます。bprac
- WaitForContinue
要求の内容をアプリケーション・サーバーに送信する前に、 HTTP 1.1 100 Continue サポートを使用するかどうかを指定します。 指定可能な属性値は、true または false です。デフォルト値は false です。プラグインは、要求の内容を送信するまでは、 アプリケーション・サーバーからの 100 Continue 応答を待機しません。 これは、応答の待機によりパフォーマンスが低下するためです。 サーバーごとにゼロまたは属性を 1 つ指定します。
キープアライブ・タイムアウトによってアプリケーション・サーバーが接続をクローズした場合、障害が発生するのを避けるため、POST 要求の場合には、このプロパティーは無視されます。
プラグインがある種のプロキシー・ファイアウォールと連動するように構成する場合、この機能を true に設定して使用可能にします。
- LoadBalanceWeight
プラグインが重み付きラウンドロビンのロード・バランシングを行う際に、このサーバーに関連付けするウェイトを指定します。サーバーごとにゼロまたは属性を 1 つ指定します。サーバーの開始値は、 0 から 20 までの任意の整数です。ただし、ゼロは稼働していないサーバーに対してのみ指定してください。
各サーバーの LoadBalanceWeight の値は、そのサーバーが要求を処理するたびに減少します。サーバー・クラスター内の特定のサーバーの重みがゼロに達した後は、セッション・アフィニティーを持つ要求のみがそのサーバーにルーティングされます。 クラスター内のすべてのサーバーのウェイトがゼロに達すると、クラスターのすべてのサーバーのウェイトがリセットされ、このアルゴリズムが再度開始されます。
ベスト・プラクティス: サーバーが稼働していない場合、そのサーバーのウェイトをゼロに設定してください。そうすると、プラグインによってまだ実行中のサーバーのウェイトがリセットされ、正常なロード・バランシングが維持されます。bprac
- ConnectTimeout
プラグインがアプリケーション・サーバーとの非ブロッキング接続を実行できるようにします。非ブロッキング接続は、プラグインが宛先と接続して、ポートが使用可能かどうかを判断することができない場合に役立ちます。サーバーごとにゼロまたは属性を 1 つ指定します。
ConnectTimeout 値が指定されないか、または 0 に設定されると、プラグインはブロッキング接続を実行します。このブロッキング接続では、オペレーティング・システムがタイムアウトになり (プラットフォームによって 2 分間)、プラグインがサーバーに使用不可のマークを付けられるようになるまで、プラグインは何もしません。値を 0 にすると、プラグインはブロッキング接続を実行します。0 よりも大きい値は、正常に接続されるまでプラグインが待機する秒数を指定します。時間間隔後に接続されなかった場合、 プラグインは、サーバーに unavailable とマークを付けて、クラスターで定義されている他のサーバーの 1 つにフェイルオーバーします。
デフォルト値は 5 です。
- ExtendedHandshake
プロキシー・ファイアウォールが、プラグインとアプリケーション・サーバーとの間にある場合に使用されます。このような場合、プラグインは予想通りにフェイルオーバーしていません。 サーバーごとにゼロまたは属性を 1 つ指定します。
プラグインは、connect() メソッドが失敗した場合に、サーバーにダウンとマークを付けます。 しかし、プロキシー・ファイアウォールがプラグインとアプリケーション・サーバーとの間にある場合には、バックエンド・アプリケーション・サーバーがダウンしていても、connect() メソッドは成功します。すなわち、プラグインは他のアプリケーション・サーバーに正しくフェイルオーバーされないことになります。
プラグインは、アプリケーション・サーバーと複数のハンドシェークを行い、要求を送る前にアプリケーション・サーバーが開始されることを確認します。 このシナリオによって、アプリケーション・サーバーがダウンした場合には、プラグインがフェイルオーバーされるようになります。
値は、true または false のいずれかです。
- MaxConnections
任意の時点に Web サーバー・プロセスで処理可能な、アプリケーション・サーバーへの保留中の接続の最大数を指定します。Server ごとに 1 つのエレメントを指定します。
例えば、以下のようなシナリオがあるとします。- アプリケーション・サーバーのフロントに、IBM HTTP Server を実行している 5 つのノードがあります。
- それぞれのノードは 2 つのプロセスを開始します。
- MaxConnections 属性は 50 に設定されています。
この例では、アプリケーション・サーバーは、最大 500 の接続を受ける可能性があります。ノード数 5 にプロセス数 2 を掛け、その数に MaxConnections 属性に指定した数 50 を掛けると、合計で 500 接続になります。
この属性は、z/OS オペレーティング・システムでは必要ありません。ワークロード・マネージャー (WLM) と連動している z/OS コントローラーは、新規の接続を動的に処理します。
デフォルトでは、MaxConnections は -1 に設定されています。 この属性がゼロまたは -1 に設定されている場合、そのアプリケーション・サーバーに対して保留されている接続の数に制限はありません。
- Transport
特定の WebSphere Application Server インスタンスに対する、読み取りおよび書き込み要求のためのトランスポートを指定します。トランスポートは、要求送信先のアプリケーション・サーバーの場所を判断するのに必要な情報を提供します。複数のトランスポートが同じプロトコルを使用するように定義されている場合、プラグインはそれを認識できません。プラグインが選択するトランスポートは予測できません。プラグインは常に、処理中に検出された最初のトランスポートを選出します。Server ごとに 1 つ以上のエレメントを指定します。
サーバーが、非セキュア・トランスポートと SSL を使用するトランスポートを持つように、 構成することもできます。 この構成では、着信要求プロトコルの突き合わせを実行して、アプリケーション・サーバーへの要求の送信に使用される適切なトランスポートを判別します。
- ホスト名
WebSphere Application Server インスタンスが稼働しているマシンのホスト名または IP アドレスを指定します。トランスポートごとに必ず 1 つの属性があります。
- ポート
WebSphere Application Server インスタンスが listen しているポートを指定します。トランスポートごとに必ず 1 つの属性があります。
- プロトコル
このトランスポートを介して通信する場合に使用するプロトコルを指定します (HTTP または HTTPS)。トランスポートごとに必ず 1 つの属性があります。
- ホスト名
- Propertyトランスポートごとにゼロまたは 1 つ以上のエレメントを指定します。トランスポートの プロトコルが HTTPS に設定されている場合は、このエレメントを使用して、 各種の初期化パラメーター (password、keyring、stashfile など) を提供します。 例えば、plugin-cfg.xml ファイルでこれらのエレメントが含まれている部分は、次のコードのようになっています。
<Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS"> <Property Name="keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/> <Property Name="stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/> <Property Name="password" value="WebAS"/>
- 名前
定義するプロパティーの名前を指定します。サポートされている名前でトランスポートが認識するのは、 鍵リング (keyring)、stash ファイル (stashfile)、およびパスワード (password) です。
プロパティーごとに必ず 1 つの属性を指定します。トラブルの回避 (Avoid trouble): WebSphere HTTP plug-in for z/OS に対して指定できる名前は、password だけです。keyring および stashfile を指定した場合、それらは無視されます。gotcha
- 値
定義するプロパティーの値を指定します。プロパティーごとに必ず 1 つの属性を指定します。
- 名前
- ServerIOTimeout
アプリケーション・サーバーへの要求の送信、およびアプリケーション・サーバーからの応答の読み取りでのタイムアウト値 (秒) をプラグインが設定できるようにします。
ServerIOTimeout 属性を正の値に設定した場合、タイムアウトが発生すると、サーバーへの問い合わせが終了します。ただし、サーバーは使用不可と見なされず、使用不可のタイムアウトが発生したサーバーにそれ以降の要求も送信されます。
ServerIOTimeout 属性に負の値を設定した場合、タイムアウトが発生すると、サーバーは使用不可と見なされ、タイムアウトが発生したサーバーにそれ以降の要求は送信されません。
ServerIOTimeout 属性に値が設定されていない場合、 プラグインは、デフォルトでブロック入出力を使用して、アプリケーション・サーバーへの要求の書き込みやアプリケーション・サーバーからの応答の読み取りを行い、TCP 接続をタイムアウトにしません。 例えば、以下の設定を指定できます。
<Server Name="server1" ServerIOTimeout=300>
この状態では、アプリケーション・サーバーが要求への応答を停止すると、プラグインは TCP 接続をタイムアウトするまで 300 秒 (5 分) 待機します。 ServerIOTimeout 属性を妥当な値に設定すると、プラグインは接続をより早くタイムアウトにし、可能な場合、別のアプリケーション・サーバーに要求を転送できます。
この属性に値を選択する際には、アプリケーション・サーバーによる要求の処理が数分かかる場合があることを考慮してください。ServerIOTimeout 属性の値を低く設定しすぎると、プラグインが正しくないサーバー・エラー応答をクライアントに送信してしまうことがあります。
デフォルト値は 900 で、これは 15 分に相当します。
トラブルの回避 (Avoid trouble): ServerIOTimeout は、プラグインが個別の書き込み操作または読み取り操作が戻るのを待つ時間を制限します。 ServerIOTimeout は、要求全体に対するタイムアウトを表してはいません。gotcha
ServerIOTimeout 属性の構成方法に関するその他の推奨事項については、IBM サポート Web サイトの Web サーバー・プラグインの構成に関する技術情報を参照してください。
アプリケーション・サーバーへのすべての要求およびアプリケーション・サーバーからのすべての応答の読み取りに、同じ ServerIOTimeout、ServerIOTimeoutRetry、および Extended Handshake / 100 Continue のタイムアウト・ルールが必要なわけではありません。すべての URL が同じように動作するわけではありません。処理の際に、要求をより素早くタイムアウトさせる必要がある場合もあります。あるいは、どのサーバーにも要求を再試行させるわけではありません。ExtendedHandshake または 100-Continue に、変更された ServerIOTimeout、ServerIOTimeoutRetry、または shortened-timeout を使用する特定の URL を指定できます。その他の URL (そのように変更されていない URL) は、Plugin-cfg.xml ファイル内に指定された値を継続して使用します。
この変更されたタイムアウト処理用の URL を指定するには、SetEnvIf ディレクティブを使用して httpd.conf ファイルを変更します。Plugin-cfg.xml ファイル内にあるプロパティーと同様に、websphere-serveriotimeout と websphere-serveriotimeoutretry はどちらも同じ値を受け入れることができます。ユーザーができることは、WebSphere-shorten-handshake は「1」に設定することだけです。この設定は、ExtendedHandshake または 100-Continue の応答の待ち時間として ConnectTimeout 値を使用するようプラグインに指示します。以下に例を示します。SetEnvIf Request_URI "\.jsp$" websphere-serveriotimeout=10 SetEnvIf Request_URI "\.jsp$" websphere-serveriotimeoutretry=-1 SetEnvIf Request_URI "\.jsp$" websphere-shorten-handshake=1
- 名前
- wsServerIOTimeout
この属性は、Web サーバー・プラグインと WebSocket アプリケーションの間での読み取りアクションと書き込みアクションを保留するタイムアウト値 (秒単位) を設定します。指定された値を超えると、応答しないアプリケーション・サーバーによって保持されているリソースが解放されます。
デフォルト値は 30 秒です。
- wsServerIdleTimeout
この属性は、Web サーバー・プラグインと WebSocket アプリケーションの間での接続がアイドル状態でいられるタイムアウト値 (秒単位) を設定します。指定された値を超えると、アプリケーション・サーバーによって保持されているリソースが解放されます。
デフォルト値は 900 秒です。
- ClusterAddress
ClusterAddress は Server エレメントと同様のエレメントで、同じ属性およびエレメントを指定することができます。違いは、ServerCluster内にこれらのうち 1 つしか定義できないことです。 プラグインとアプリケーション・サーバーの間に Load Balancer があるため、プラグインでロード・バランシングを実行しない場合には、ClusterAddress を使用してください。
トラブルの回避 (Avoid trouble): ClusterAddress タグを組み込む場合は、 そのタグに Name 属性を組み込む必要があります。プラグインはその Name 属性を使用して、 クラスター・アドレスを正しいホストおよびポートに 関連付けます。Name 属性を指定しない場合、プラグインはクラスター・アドレスに、 同じホストおよびポートを使用するサーバー用に指定されている名前を 割り当てます。
gotcha<ClusterAddress Name="MyClusterAddr"> <Transport Hostname="192.168.1.2" Port="9080" Protocol="HTTP"/> <Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS"> </ClusterAddress>
アフィニティーが確立されていない要求を受信した場合、プラグインは、 この要求をクラスター・アドレスに送付します (クラスター・アドレスが定義されている場合)。 アフィニティーが確立されている場合、プラグインは、クラスター・アドレスを完全にバイパスして 要求を直接クローンに送付します。サーバー・クラスターにクラスター・アドレスが 定義されていない場合、プラグインは、1 次サーバー・リストにあるサーバー間の ロード・バランスを取ります。
ServerCluster ごとにゼロまたは 1 つのエレメントの場合があります。
- PrimaryServers
プラグインがこのクラスターに対する要求を送付するサーバーのリストを 指定します。1 次サーバーのリストが指定されていない場合、プラグインは、 サーバー・クラスターに対して定義されているサーバーに要求を送付します。ServerCluster ごとにゼロまたはエレメントを 1 つ指定します。
- BackupServers
1 次サーバー・リストに指定されているすべてのサーバーが使用できない場合に要求を送信する対象のサーバーのリストを指定します。プラグインはバックアップ・サーバー間のロード・バランスは取りませんが、リスト内のサーバーがなくなるまで、または要求が正常に送信されてアプリケーション・サーバーからの応答を受信するまで、リストを順番に全探索します。ServerCluster ごとにゼロまたはエレメントを 1 つ指定します。
VirtualHostGroup
HTTP ホスト・ヘッダーで指定される仮想ホスト名のグループを指定します。このプロパティーを使用して、同じようなタイプの要求を処理するために構成される仮想ホスト定義をグループ化します。
以下の例は、VirtualHostGroup エレメントと、関連するエレメントおよび属性を示します。
<VirtualHostGroup Name="Hosts">
<VirtualHost Name="www.x.com"/>
<VirtualHost Name="www.x.com:443"/>
<VirtualHost Name="*:8080"/>
<VirtualHost Name="www.x.com:*"/>
<VirtualHost Name="*:*"/>
</VirtualHostGroup>
- 名前
この仮想ホスト・グループで使用される論理名または管理名を指定します。VirtualHostGroup ごとに必ず 1 つの属性を指定します。
- VirtualHost
着信要求を WebSphere Application Server が処理する必要があるかを判別するために使用される、仮想マシンまたは実際のマシンで使用する名前を指定します。このエレメントは、HTTP ホスト・ヘッダーにあるホスト名を指定するのに使用します。 このヘッダーは、アプリケーション・サーバーが処理する必要のある要求で参照されることになっています。着信要求に対して特定のホスト名やポートを指定したり、ホスト名かポート、あるいはその両方にアスタリスク (*) を指定したりできます。
VirtualHostGroup ごとに 1 つ以上のエレメントの場合があります。
- 名前
VirtualHost にある名前と一致する HTTP ホスト・ヘッダーにある名前を指定します。VirtualHost ごとに必ず 1 つの属性を指定します。
この値は、ホスト名または IP アドレスとポートを組み合わせて、 それぞれをコロンで区切ったものです。
プラグインは、要求の経路を、 その要求のために着信する HTTP ホスト・ヘッダーとポートに基づくアプリケーション・サーバーに定めるように、 構成することができます。 Name 属性は、それらの組み合わせを指定します。
この属性にはワイルドカードが使用できます。ホスト名に対して *、 ポートに対して *、あるいはその両方に対して * のいずれかしか、 使用できません。両方に対して * を使用することは、この規則にはどんな要求でも一致することを意味します。定義でポートが指定されていない場合は、デフォルトの HTTP ポート (80) が想定されます。
- 名前
UriGroup
HTTP 要求行で指定される URI のグループを指定します。URI は、 同じアプリケーション・サーバーで処理しなければなりません。経路は着信する URI とグループ内の URI を比較して、アプリケーション・サーバーが要求を処理するかどうかを判断します。
以下の例は、UriGroup エレメントと、関連するエレメントおよび属性を示します。
<UriGroup Name="Uris">
<Uri Name="/servlet/snoop/">
<Uri Name="/webapp/*/">
<Uri Name="*.jsp/">
</UriGroup>
- 名前
この URI グループの論理名または管理名を指定します。UriGroup ごとに必ず 1 つの属性を指定します。
- URI
WebSphere Application Server が提供するリソースへの仮想パスを指定します。各 URI は、アプリケーション・サーバーが処理する必要のある着信 URL を指定します。これらの定義では、ワイルドカードが使用できます。UriGroup ごとに 1 つ以上の属性の場合があります。
- 名前
この URI との突き合わせを正常に行うために、HTTP 要求行で指定する実際のストリングを指定します。URI 定義内ではワイルドカードが使用できます。*.jsp または /servlet/* のような、WebSphere Application Server が処理する規則を指定することもできます。 アプリケーションをアセンブルする際に「ファイル・サービスを可能にする」を指定すると、明示的なサーブレット・マッピングには関係なく、Web アプリケーションではワイルドカード URI のみが生成されます。 「クラス名ごとにサーブレットを提供する」を指定すると、次の URI が生成されます: <Uri Name="Web_application_URI/servlet/*">
URI ごとに必ず 1 つの属性があります。
- AffinityCookie
インバウンド要求にセッション・アフィニティーがあるかを判別する際に、プラグインが使用する Cookie の名前を指定します。デフォルト値は JSESSIONID です。
セッションのアフィニティーに関する追加情報については、 CloneID 属性の説明を参照してください。
URI ごとにゼロまたは 1 つの属性の場合があります。
- AffinityURLIdentifier
インバウンド要求に特定のクローンに対するアフィニティーが URL で指定されているかどうかを判別する際に、プラグインが使用する識別子の名前を指定します。デフォルト値は jsessionid です。
セッションのアフィニティーに関する追加情報については、 CloneID 属性の説明を参照してください。
URI ごとにゼロまたは 1 つの属性の場合があります。
- 名前
経路 (Route)
着信要求を WebSphere Application Server が処理する必要があるかをプラグインが判別する要求ルーティング・ルールを指定します。
経路定義は、プラグイン構成の中心的なエレメントです。これにより、要求の特定の特性に基づいてプラグインが要求を処理する方法が指定されます。 経路定義には、その他の主なエレメント (必須の ServerCluster と、 VirtualHostGroup または UriGroup、あるいはその両方) が含まれています。
経路の VirtualHostGroup と UriGroup で定義されている情報を使用して プラグインは、Web サーバーへの着信要求を、この経路で定義した ServerCluster エレメントに送信するかどうかを決定します。
以下のこのエレメントの例を参照してください。
<Route VirtualHostGroup="Hosts" UriGroup="Uris" ServerCluster="servers"/>
- VirtualHostGroup
経路の判別に使用される仮想ホストのグループを指定します。着信するホスト・ヘッダーとサーバー・ポートを突き合わせて、この要求をアプリケーション・サーバーで処理するかどうかを判断します。
このプロパティーを、経路定義から省略することができます。これがない場合は、要求はそれぞれ、 経路決定の仮想ホストの突き合わせ部分で突き合わせます。
経路ごとにゼロまたは 1 つの属性があります。
- UriGroup
経路の判別に使用する URI のグループを指定します。経路ごとに、ゼロまたは 1 つのグループを選択してください。要求の着信 URI をこのグループの定義済み URI と突き合わせて、この要求をアプリケーション・サーバーで処理するかどうかを判断します。
このプロパティーを、経路定義から省略することができます。これがない場合、経路決定の URI の突き合わせ時にあらゆる要求が一致します。
- ServerCluster
経路に正常に一致し、要求を受け取るクラスターを指定します。経路ごとに必ず 1 つのクラスターを選択してください。
クラスターは、この要求を処理するために使用されます。URI と仮想ホストの突き合わせがこの経路で正常に行われたら、このクラスター内で定義されているサーバーのいずれかに要求が送信されます。
RequestMetrics
要求メトリックが使用可能かどうか、および要求メトリックが使用可能な場合に Internet Protocol (IP) フィルターおよび Uniform Resource Identifiers (URI) フィルターに基づいて要求をフィルターする方法を判別するために使用されます。
以下のこのエレメントの例を参照してください。
<RequestMetrics armEnabled="false" loggingEnabled="true"
rmEnabled="false" traceLevel="PERF_DEBUG">
- armEnabled
ARM 4 エージェントがプラグイン内で使用可能かを指定します。true に設定されている場合、ARM 4 エージェントが呼び出されます。
トラブルの回避 (Avoid trouble): SunOne (iPlanet) Web サーバーの場合は、ARM 4 サポートを使用可能にするには、以下のディレクティブが obj.conf ファイルに含まれていなければなりません。
このディレクティブが含まれていない場合、arm_stop プロシージャーは呼び出されません。gotchaAddLog fn="as_term"
RequestMetrics に対してゼロまたは 1 つの属性を選択してください。
- loggingEnabled
要求メトリック・ロギングがプラグイン内で使用可能かを指定します。この属性が true に設定され、 traceLevel が NONE に設定されていない場合は、要求応答時間およびその他の要求情報は ログに記録されます。false に設定されている場合には、 要求は記録されません。loggingEnabled の値は、 システム・プロパティー com.ibm.websphere.pmi.reqmetrics.loggingEnabled で指定される値によって異なります。 このシステム・プロパティーが存在しない場合、 loggingEnable は true に設定されます。RequestMetrics に対して必ず 1 つの属性を指定します。
- rmEnabled
要求メトリックがプラグイン内で使用可能かを指定します。true に設定されている場合、プラグインの要求メトリックはフィルターを検査し、プラグイン・ログ・ファイルに要求トレース・レコードを記録します。このアクションが行われるのは、要求がフィルターを渡す場合です。 この属性を false に設定すると、要求メトリック属性の残りの部分は無視されます。RequestMetrics に対して必ず 1 つの属性を指定します。
- traceLevel
rmEnabled 属性が true に設定されている場合に、どれほどの情報が記録されるかを示します。この属性を NONE に設定すると、 要求ロギングは実行されません。この属性を NONE に設定せず、 loggingEnabled を true に設定すると、 要求が実行されるときに要求応答時間およびその他の要求情報がログに記録されます。RequestMetrics に対して必ず 1 つの属性を指定します。
- filters
rmEnabled が true の場合、フィルターは、 どの要求がトレース対象となるのかを制御します。RequestMetrics に対してゼロ、1 つ、または 2 つの属性を指定します。
- enable
enable が true の場合、フィルターのタイプがオンになり、 要求がフィルターをパスする必要があります。フィルターごとに必ず 1 つの属性を指定します。
- type
SOURCE_IP (例えば、クライアント IP アドレス) フィルターと URI フィルターの 2 種類があります。SOURCE_IP フィルター・タイプの場合、要求は既知の IP アドレスに基づいてフィルターに掛けられます。アスタリスク (*) を使用すると、IP アドレスにマスクを指定できます。 アスタリスクを使用する場合は、例えば、127.0.0.*、127.0.*、127* のように、 常にマスクの最後の文字にする必要があります。 パフォーマンス上の理由から、パターンは、フィルター内にアスタリスクがあるか、ミスマッチになるか、あるいはフィルターが完全に一致することが分かるまで、文字を 1 つずつ突き合わせます。
URI フィルター・タイプの場合、要求は、受信 HTTP 要求の URI に基づいてフィルターに掛けられます。パターン・マッチングのルールは、 SOURCE_IP アドレス・フィルターのマッチングの場合と同じです。
URI フィルターとクライアント IP アドレス・フィルターの両方が使用可能な場合、要求メトリックは両方のフィルター・タイプと一致する必要があります。 どちらも使用不可な場合、すべての要求は一致しているとみなされます。
フィルターごとに必ず 1 つの属性があります。
- filterValues
詳細なフィルター情報を指定します。フィルターごとに 1 つまたは複数の属性を指定してください。
- value
対応するフィルター・タイプにフィルター値を指定します。 この値は、クライアント IP アドレスまたは URI のいずれかの可能性があります。filterValue ごとに必ず 1 つの属性を指定します。
- value
- enable