2 Oracle HTTP Server用プラグインの構成

Oracle WebLogic Serverプロキシ・プラグイン(WLS OHSプラグイン)は、Oracle HTTP ServerからOracle WebLogic Serverにリクエストをプロキシするためのプラグインです。WLS OHSプラグインは、Oracle HTTP Server 14c (14.1.2.0.0)のインストールに含まれています。別途ダウンロードしてインストールする必要はありません。

WLS OHSプラグインは、Fusion Middleware Controlを使用するか、mod_wl_ohs.conf構成ファイルを手動で編集することで構成できます。

ノート:

WLS OHSプラグインは、WebSocketアプリケーションのフロントエンドとなることが可能になりました。

この章の内容は次のとおりです。

WLS OHSプラグインの構成の準備

WLS OHSプラグインを構成する前に、インストールと検証のタスクをいくつか完了する必要があります。

  • Oracle WebLogic Serverがインストールされ、ドメインが作成されており、Oracle WebLogicリモート・コンソールにアクセスできることを確認します。Oracle HTTP ServerとWebLogic Serverは、同一ドメインにインストールすることも、別ドメインにインストールすることもできます。

  • OHSがWebLogic管理対象ドメインで使用されている場合は、Fusion Middleware Controlがインストールされていて、Enterprise Manager Fusion Middleware Controlコンソールにアクセスできることを確認します。これは、Fusion Middleware Controlに用意されているグラフィカル・インタフェースを使用して、WLS OHSプラグインを構成する場合に必要になります。Fusion Middleware Controlは、WebLogic管理対象ドメインにのみ利用できます。

  • 構成をテストできるようにするには、必要なJavaアプリケーションがOracle WebLogic Server (単一の管理対象サーバーまたはクラスタ)にデプロイされており、アクセス可能であることを確認します。

次のトピックを参照してください。

「WebLogicプラグインの有効化」パラメータの設定

「WebLogicプラグインの有効化」パラメータは設定する必要があります。

  1. WebLogicリモート・コンソールにログインします。
  2. 「ツリーの編集」「環境」に移動します:
    • Oracle HTTP Serverからリクエストをプロキシするサーバー・インスタンスがクラスタにある場合は、「クラスタ」を選択します。
    • それ以外の場合は、「サーバー」を選択します。
  3. Oracle HTTP Serverからリクエストをプロキシするクラスタまたはサーバーを選択します。
  4. 「拡張フィールドの表示」をクリックします。
  5. WebLogicプラグインをWebLogic Serverで使用するために「WebLogicプラグインの有効化」オプションをオンにします。
    「サーバー」(「クラスタ」ではなく)を選択した場合は、Oracle HTTP Serverからリクエストをプロキシする行うサーバーごとに「WebLogicプラグインの有効化」をオンにします。

    「「WebLogicプラグインの有効化」パラメータの理解」を参照してください。

  6. 「保存」をクリックします。

変更内容を有効にするには、サーバー・インスタンスを再起動する必要があります。

「WebLogicプラグインの有効化」パラメータの理解

「WebLogicプラグインの有効化」ドロップダウン・リストには次の値が含まれます。

  • はい—WebLogic ServerでWLSプロキシ・プラグインを使用する場合は、「はい」を選択する必要があります。サーバーで「はい」に設定すると、このサーバーで独自のWL-Proxy-Client-IPヘッダーを使用することを指定することになります。サーバー・インスタンスがプロキシ・プラグインからリクエストを受信する場合は、設定することをお薦めします。

    クラスタで「はい」に設定すると、クラスタがプロキシ・プラグインまたはHttpClusterServletからのリクエストを受信することを指定することになります。getRemoteAddrを呼び出すと、Webサーバーではなく、独自のWL-Proxy-Client-IPヘッダーからブラウザ・クライアントのアドレスが返されます。

  • いいえ—サーバーまたはクラスタで「いいえ」を選択すると、config.xmlファイルのweblogic-plugin-enabledパラメータが無効になります(weblogic-plugin-enabled=false)。

  • デフォルト—サーバー・ページの「WebLogicプラグインの有効化」「デフォルト」を選択すると、サーバーはクラスタの「WebLogicプラグインの有効化」に選択した値を継承します。クラスタ・ページの「WebLogicプラグインの有効化」「デフォルト」を選択すると、クラスタはドメインの「WebLogicプラグインの有効化」に選択した値を継承します。

Fusion Middleware Controlを使用したWLS OHSプラグインの構成

OHSがWebLogic管理対象ドメインで使用されている場合、Fusion Middleware Controlを使用してmod_wl_ohsモジュールを構成できます。

mod_wl_ohsモジュールを構成するには、次のタスクを完了します:

タスク1: 「mod_wl_ohs構成」ページに移動

mod_wl_ohs構成」ページには、WLS OHSプラグインを構成するためのパラメータがあります。

  1. 「WLS OHSプラグインの構成の準備」に示されている前提条件を満たしていることを確認します。
  2. 「Oracle HTTP Server」メニューから「管理」を選択します。
  3. 「管理」メニューで「mod_wl_ohs構成」を選択します。「mod_wl_ohs構成」ページが表示されます。

    次の表では、mod_wl_ohsページのフィールドについて説明します。

    フィールド 説明

    WebLogicクラスタ詳細の指定

    ロード・バランシングに使用可能なOracle WebLogicクラスタのリスト。サーバーまたはクラスタのリストは、host:portエントリのリストです。クラスタとシングル・サーバーを組み合せて指定した場合、このパラメータに対して返される動的リストには、クラスタ化されたサーバーのみが含まれます。

    適切なクラスタかどうかがわからない場合は、検索アイコンをクリックして、関連付けられたすべてのクラスタのリストを表示できます。「検索機能の使用」を参照してください。

    このモジュールは、すべての使用可能なサーバーの間の単純なラウンドロビンを実行します。このプロパティで指定したサーバー・リストが、サーバーとモジュールが保持する動的サーバー・リストの開始点となります。Oracle WebLogicサーバーおよびこのモジュールの連携により、このサーバー・リストは新規、失敗およびリカバリされたクラスタ・メンバーで自動的に更新されます。

    動的クラスタ・リストの使用を無効にするには、「動的サーバー・リストをオン」フィールドを無効にします。このモジュールはCookie、URLエンコード済セッション、またはPOSTデータに格納されたセッションを含むHTTPリクエストを、最初にCookieを作成したクラスタ内のサーバーに送信します。

    WebLogic Serverホストおよびポート詳細の指定

    • WebLogicホスト

      HTTPリクエストが転送される、Oracle WebLogic Serverホスト(またはOracle WebLogic Serverに定義されている仮想ホスト名)。WebLogicクラスタを使用している場合は、「WebLogicホスト」ではなく「WebLogicクラスタ」パラメータを使用します。

      適切なサーバーかどうかがわからない場合は、検索アイコンをクリックして、関連付けられたすべてのクラスタのリストを表示できます。「検索機能の使用」を参照してください。

    • WebLogicポート

      Oracle WebLogic Serverホストがモジュール(または他のサーバー)からの接続リクエストをリスニングするポート。(モジュールとOracle WebLogic Serverの間でSSLを使用している場合、このパラメータをSSLリスニング・ポートに設定します。)

    動的サーバー・リストをオン | オフ

    オフに設定すると、モジュールはプロキシ設定されたロード・バランシング・リクエストに使用される動的クラスタ・リストを無視し、WebLogicクラスタ・パラメータで指定された静的リストのみを使用します。通常は、このパラメータをオンに設定してください。

    このパラメータをオフに設定した場合、次のような影響があります。

    • 静的リスト内の1つ以上のサーバーが失敗した場合、モジュールは終了したサーバーへの接続を試行し無駄な時間を費やすことがあるため、パフォーマンスが低下します。

    • クラスタに新しいサーバーを追加した場合、このパラメータを再定義しないかぎりモジュールは新しいサーバーへリクエストをプロキシ設定できません。Oracle WebLogic Serverは、新しいサーバーがクラスタの一部になると、これらのサーバーを動的サーバー・リストへ自動的に追加します。

    エラー・ページ

    WebサーバーでリクエストをOracle WebLogic Serverに転送できない場合に表示されるよう、独自のエラー・ページを作成できます。

    WebLogic一時ディレクトリ

    ポスト・データ・ファイル用の_wl_proxyディレクトリの場所を指定します。

    パスまたはMIMEタイプの除外

    このパラメータを使用すると、特定のリクエストをプロキシ処理から除外できます。

    このパラメータは、グローバルに定義することも、「場所」タグ・レベルでローカルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティがオーバーライドされるのではなく、2つのパラメータの集合が定義されます。

    一致式

    このリージョンを使用して、式のオーバーライドを指定します。たとえば、MIMEタイプでプロキシしている場合には、次のように入力できます。

    *.jsp WebLogicHost=myHost|paramName=value

    次の構文を使用することで、「一致式」の新しいパラメータを定義できます。

    *.jsp PathPrepend=/test|PathTrim=/foo 

    (パラメータは|で区切られます)

    ロケーション

    この表を使用して、ロケーションのオーバーライドを指定します。「タスク3: 式のオーバーライドまたはロケーションのオーバーライドの構成(省略可)」を参照してください。

    クロス・コンポーネント・ワイヤリングの追加

    このボタンは、Oracle HTTP Serverを完全JRFモード(コロケート)でインストールし、バッキング・データベースがある場合にのみ表示されます。

    このボタンを選択すると、サービス表ページが開きます。サービス表を使用して、サービス・プロバイダはサービスのエンドポイント情報を公開し、これらのサービスのクライアントはこれらのサービスに問い合せてバインドすることができます。サービス表はデータベース・スキーマの単一の表です。パブリッシュされる各エンドポイントに対して1行あります。サービス表スキーマは、最初にリポジトリ作成ユーティリティにより作成されます。

    『Oracle Fusion Middlewareの管理』連携するコンポーネントのワイヤリングに関する項を参照してください

タスク2: 構成設定の指定

WLS OHSプラグインの構成設定を指定します。「一般」セクションで、WebLogicクラスタまたはWebLogicサーバーのmod_wl_ohsを構成できます。

  • 「WebLogicクラスタ詳細の指定」ラジオ・ボタンを選択する場合、「WebLogicクラスタ」、「動的サーバー・リストをオン」、「エラー・ページ」、「WebLogic一時ディレクトリ」、「パスまたはMIMEタイプの除外」の各フィールドに値を指定します。

  • 「WebLogic Serverホストおよびポート詳細の指定」ラジオ・ボタンを選択する場合、「WebLogicホスト」、「WebLogicポート」、「動的サーバー・リストをオン」、「エラー・ページ」、「WebLogic一時ディレクトリ」、「パスまたはMIMEタイプの除外」の各フィールドに値を指定します。

タスク3: 式のオーバーライドまたはロケーションのオーバーライドの構成(省略可)

必要に応じて、式のオーバーライドやロケーションのオーバーライドを構成に追加できます。

  1. 「一致式」フィールドで式のオーバーライドを追加します。

  2. 「ロケーション」表でロケーションのオーバーライドを追加します。

    1. 「行の追加」をクリックして新規行を作成します。

    2. 関連付けられているディレクティブが有効になる、ベースURIを入力します。

    3. 「WebLogicクラスタ」「WebLogicホスト」および「WebLogicポート」フィールドにすべて入力します。「自動入力」をクリックすることで、これらのフィールドに自動入力できます(「自動入力機能の使用」を参照)。

    4. 「パスの切捨て」フィールドに入力します。

      RFC仕様に従うと、URLの汎用構文は次のとおりです。

      [PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...
      

      「パスの切捨て」は、リクエストがWebLogic Serverに転送される前に、モジュールによって元のURLの{PATH}/{FILENAME}部分から切り捨てられる文字列を指定します。たとえば、URLが次のとおりだとします。

      http://myWeb.server.com/weblogic/foo
      

      このURLは、解析のためにモジュールに渡されます。また「パスの切捨て」がURLをWebLogic Serverに渡す前に/weblogicを切り捨てるように設定されている場合、WebLogic Serverには次のURLが転送されます。

      http://myWeb.server.com:7002/foo

      ノート:

      既存のサード・パーティ製サーバーを変更し、初めてこのモジュールを使用してWebLogic Serverにリクエストをプロキシする場合は、/fooへのアプリケーション・パスをweblogic/fooを含むよう変更する必要があります。「パスの切捨て」と「パスの付加」を併用することで、このパスを変更できます。

    5. 「パスの付加」フィールドに入力します。

      RFC仕様に従うと、URLの汎用構文は次のとおりです。

      [PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...
      

      「パスの付加」は、「パスの切捨て」の値が切り捨てられてからリクエストがWebLogic Serverに転送されるまでの間に、モジュールによって元のURLの{PATH}部分の先頭に付加されるパスを指定します。

      ノート:

      ファイル名を付加する必要がある場合は、「パスの付加」ではなくDefaultFileNameモジュール・パラメータを使用してください。

    6. 再度「行の追加」をクリックして、新しい行を保存します。

タスク4: 変更の適用

mod_wl_ohs構成」ページに変更を適用して、Oracle HTTP Serverを再起動します。

  1. 設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
  2. Oracle HTTP Serverメニューで「制御」「起動」を選択し、Oracle HTTP Serverを再起動します。

mod_wl_ohsモジュール構成が保存され、「mod_wl_ohs構成」ページに表示されます。

検索機能の使用

検索機能を使用すると、選択したOracle HTTP Serverインスタンスで利用可能な特定のWebLogicクラスタまたはWebLogicホストを検索できます。検索アイコン拡大鏡をクリックすることで、選択したOracle HTTP Serverインスタンスで使用可能なクラスタまたはサーバーのリストを表示できます。検索機能を使用する手順は、次のとおりです。

  1. 「WebLogicクラスタ」または「WebLogicホスト」の検索アイコンをクリックします。「WebLogicクラスタの選択」または「WebLogic Serverの選択」ダイアログ・ボックスが表示されます。
  2. 使用するクラスタまたはサーバーを選択して、「OK」をクリックします。

選択したクラスタまたはサーバーの名前が、該当するフィールドに表示されます。

自動入力機能の使用

ノート:

自動入力機能は、完全JRFモードでOracle WebLogic Serverを使用する場合のみ利用できます。制限JRFを使用する場合は利用できません。

「自動入力」ボタンを使用することで、指定したベースURLに対する有効なWebLogic Serverおよびエンドポイントの場所をOracle WebLogic Serverプロキシ・プラグインの「構成」画面の「ロケーション」表に簡単に追加できます。そのように行うには:

  1. 「追加」をクリックして、新しいロケーションを追加します。
  2. 「ロケーション」フィールドにロケーション名を入力します。
  3. 「自動入力」をクリックします。

同一名の場所のデータは更新され、新しい場所は表に追加されます。

WLS OHSプラグインの手動構成

OHSがスタンドアロン・モードで構成されている場合は、mod_wl_ohs.confファイルにディレクティブを指定して、WLS OHSプラグインを手動で構成します。

  1. 「WLS OHSプラグインの構成の準備」に示されている前提条件を満たしていることを確認します。
  2. テキスト・エディタでmod_wl_ohs.confファイルを開きます。

    mod_wl_ohs.confファイルは次のディレクトリにあります。

    DOMAIN_HOME/config/fmwconfig/components/OHS/componentHome

  3. 構成ファイルの<IfModule weblogic_module>要素内にディレクティブを追加します。

    たとえば、「<IfModule weblogic_module>要素の構成例」を参照してください。

    mod_wl_ohs.confファイル内で指定できるその他のディレクティブの詳細は、Oracle WebLogic Serverプロキシ・プラグインのパラメータを参照してください。

  4. Oracle HTTP Serverの管理Oracle HTTP Serverの起動 で説明されているいずれかの方法でOracle HTTP Serverを再起動します。

<IfModule weblogic_module>要素の構成例

事前定義済の<IfModule weblogic_module>要素の構成によって、リクエストがどのようにOracle WebLogic Serverに送信されるかが決まります。次の例は、この要素を構成できる様々な方法を示しています。

ノート:

事前定義済の<IfModule weblogic_module>要素内でディレクティブを指定することをお薦めします。

事前定義済の<IfModule weblogic_module>要素の外や、追加された<IfModule weblogic_module>要素内、またはmod_wl_ohs.conf以外の構成ファイルにディレクティブを指定した場合、Oracle WebLogic Serverプロキシ・プラグインは機能しますが、Fusion Middleware Controlに表示されるモジュールの構成状態が、mod_wl_ohs.conf構成ファイルに指定したディレクティブと一致しない可能性があります。

単一のOracle WebLogic Serverインスタンスにリクエストを転送する場合

単一のOracle WebLogic Serverインスタンス上で実行されるアプリケーションにリクエストを転送するには、その宛先サーバーの詳細を<location>要素内で指定します。

構文:

<IfModule weblogic_module>
<Location path>
WLSRequest On
WebLogicHost host
WeblogicPort port
</Location>
</IfModule>

:

次のように構成すると、Oracle HTTP Serverのリスニング・ポートで受信された/myapp1 URIのリクエストは、リスニング・ポートlocalhost:7001のOracle WebLogic Serverの/myapp1に転送されます。

<IfModule weblogic_module>
<Location /myapp1>
WLSRequest On
WebLogicHost localhost
WeblogicPort 7001
</Location>
</IfModule>

Oracle WebLogic Serverインスタンスのクラスタにリクエストを転送する場合

Oracle WebLogic Serverインスタンスのクラスタ上で実行されているアプリケーションにリクエストを転送するには、その宛先クラスタの詳細を新しい<location>要素内で指定します。

構文:

<IfModule weblogic_module>
<Location path>
WLSRequest On
WebLogicCluster host:port,host:port,...
</Location>
</IfModule>

:

次のように構成すると、Oracle HTTP Serverリスニング・ポートで受信された/myapp2 URIのリクエストは、リスニング・ポートlocalhost:8002およびlocalhost:8003の管理対象サーバーを含むOracle WebLogic Serverクラスタの/myapp2へ転送されます。

<IfModule weblogic_module>
<Location /myapp2>
WLSRequest On
WebLogicCluster localhost:8002,localhost:8003
</Location>
</IfModule>

複数の宛先を構成する場合

単一のOracle WebLogic Serverインスタンス上で実行されているアプリケーションとクラスタ上で実行されている別のアプリケーションなど、複数の宛先を構成するには、各宛先を個別の<location>子要素内で指定する必要があります。次の構文で示すように、<IfModule weblogic_module>要素内のすべての<location>子要素は同じレベルに存在する必要があります。

<IfModule weblogic_module>
#For an application running on a single server instance
<Location path1>
WLSRequest On
WebLogicHost host
WeblogicPort port
</Location>

#For an application running on a cluster
<Location path2>
WLSRequest On
WebLogicCluster host:port,host:port,...
</Location>

</IfModule>

管理対象サーバーにリンクする場合

たとえば、Oracle HTTP Serverの高可用性デプロイメントを有効にするため、WLS OHSプラグインを管理対象サーバーにリンクできるように構成するには、mod_wl_ohs.confファイルを次のように編集します:

<IfModule mod_weblogic.c>
      WebLogicCluster apphost1.mycompany.com:7050,apphost2.mycompany.com:7050
      MatchExpression *.jsp
 </IfModule>
  
<Location /weblogic>
  WLSRequest On
  WebLogicCluster apphost1.mycompany.com:7050,apphost2.com:7050
  DefaultFileName index.jsp
</Location>

ノート:

SSL終端を使用しており、リクエストをWebLogic Serverにルーティングする場合は、さらに次の構成が必要です。

WebLogicコンソールで、ドメイン、クラスタまたは管理対象サーバーのレベルで「WebLogicプラグインの有効化」を「true」に設定する必要があります。

WebLogic管理対象サーバーにリクエストを送信するLocationブロックに、次の行のどちらかを追加することも必要です。

WLProxySSL ON
WLProxySSLPassThrough ON

(使用するパラメータの決定には、Oracle WebLogic Serverプロキシ・プラグインのSSLパラメータを参照してください。)

たとえば:

<Location /weblogic>
  WLSRequest On
  WebLogicCluster apphost1.mycompany.com:7050,apphost2.com:7050
  WLProxySSL On
  WLProxySSLPassThrough ON
  DefaultFileName index.jsp
</Location>

WebLogicプラグインを有効化した後、管理サーバーを再起動します。『Oracle HTTP Serverの管理』SSLリクエストの終了に関する項を参照してください。

この例は、Oracle WebLogic管理対象サーバーにリクエストをルーティングする2つの方法を示しています。

  • <IfModule>ブロックでは、*.jspで終わるすべてのリクエストが、Apphost1およびApphost2上にあるWebLogic管理対象サーバーのクラスタに送信されます。

  • <Location>ブロックでは、/weblogicで始まるURLのすべてのリクエストがApphost1およびApphost2上にあるWebLogic管理対象サーバーのクラスタに送信されます。

一方向および双方向SSLを構成する場合

Oracle HTTP ServerとOracle WebLogic Serverとの間の一方向SSLおよび双方向SSLをサポートするようWLS OHSプラグインを構成する方法の詳細は、「プロキシ・プラグインでのSSLの使用」を参照してください。

プロキシ・プラグインでのIPv6の構成

14.1.2.0.0 WLSプロキシ・プラグインでは、IPv6がサポートされています。具体的には、WebLogicHostおよびWebLogicCluster構成パラメータがIPv6アドレスをサポートするようになりました。

「WebLogicCluster」および「WebLogicHost」を参照してください。

たとえば:

<IfModule mod_weblogic.c>
 WebLogicHost [a:b:c:d:e:f]
 WebLogicPort 7002
 ...
</IfModule>

または

<IfModule mod_weblogic.c>
 WebLogicCluster [a:b:c:d:e:f]:<port>, [g:h:i:j:k:l]:<port>
 
 ....
</IfModule>

IPv6アドレスにマップされているホスト名を使用することもできます。

たとえば:
<IfModule mod_weblogic.c>  
#hostname1 is mapped to IPv6 address in /etc/hosts file
 WebLogicHost hostname1
 WebLogicPort 7002
 ...
</IfModule>
/etc/hostsファイルのサンプル・エントリ:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 hostname1

ノート:

Windows 2008以降、DNSサーバーは、IPv4アドレスよりもIPv6アドレスを優先して返します。IPv4を使用してWindows 2008以降のシステムに接続している場合は、最初にリンクローカルIPv6アドレス形式が試みられ、それによって遅延が顕著となり、パフォーマンスが低下する可能性があります。IPv4アドレス形式を使用するには、構成ファイルでかわりのIPアドレスを使用するようシステムを構成するか、IPv4アドレスをetc/hostsファイルに追加します。

また、構成ファイルでDynamicServerListプロパティをOFFに設定すると、IPv6を使用したパフォーマンスも向上します。OFFに設定すると、プロキシ・プラグインでは、プロキシ・プラグインからプロキシされたロード・バランシング・リクエストに使用される動的クラスタ・リストが無視され、WebLogicClusterパラメータで指定された静的リストが使用されます。

14.1.2.0.0 WLS OHSプラグインをインストールした後のステップ

14.1.2.0.0 WLS OHSプラグインをインストールした後に、プラグインの新機能を使用するには、後に示す構成をすべて行います。

この項には次のトピックが含まれます:

HTTPヘッダーの大/小文字処理について

WLS OHSプラグインは、フロントエンドおよびバックエンド接続用に構成されたHTTPプロトコル・バージョンに基づいてHTTPヘッダーの大/小文字を変換します。

表2-1に、フロントエンドおよびバックエンド接続用に構成されたHTTPプロトコル・バージョンに基づいてリクエスト・ヘッダーとレスポンス・ヘッダーの大/小文字がどのように変更されるかを示します。

表2-1 HTTPリクエスト・ヘッダーおよびレスポンス・ヘッダーの大/小文字

フロントエンド接続のHTTPプロトコル・バージョン バックエンド接続のHTTPプロトコル・バージョン Oracle WebLogic Serverプロキシ・プラグインによってバック・エンドに送信されたリクエスト・ヘッダーの大/小文字 Oracle WebLogic Serverプロキシ・プラグインによってクライアントに送信されたレスポンス・ヘッダーの大/小文字
HTTP/1.1 HTTP/1.1 変換なし 変換なし

WLS OHSプラグインのパフォーマンス・メトリックの理解

Oracle HTTP Serverには、リクエストがバックエンドWebLogic ServerにプロキシされるWLS OHSプラグイン(mod_wl_ohs)モジュールに固有のパフォーマンス・メトリックが用意されています。

これらのメトリックは、Oracle Dynamic Monitoring Service (DMS)経由で提供されます。これを使用すると、Oracle Fusion Middlewareのコンポーネントは、Fusion Middleware Controlなどの管理ツールに、コンポーネントのパフォーマンス、状態および進行中の動作に関するデータを提供できるようになります。たとえば、WLS OHSプラグイン・モジュールの場合、プロキシされたリクエストの数、失敗したリクエストの数、その他固有のメトリックが返されます。DMSの詳細は、『パフォーマンスのチューニング・ガイド』Oracle Dynamic Monitoring Serviceの使用に関する項を参照してください。

ノート:

WLS OHSプラグイン・モジュールのメトリックは、Oracle HTTP ServerおよびApache Serverプラグインにのみ利用できます。

この項では、DMSメトリックに関する次の情報について説明します。

WLS OHSプラグインのDMSメトリックの構成

WLS OHSプラグイン用のDMSメトリックは、admin.confファイルでデフォルトで有効です。これらは、通常のDMSメトリック・コレクションの一部として含まれます。

WLS OHSプラグインのパフォーマンス・メトリックの表示

パフォーマンス・メトリックを表示するには、管理ポート、WLSTコマンドまたはFusion Middleware Controlのいずれかを使用します。各パフォーマンス・メトリックの詳細は、「DMS状態メトリック」「DMSイベント・メトリック」および「DMS PhaseEventメトリック」を参照してください。

管理コンソールを使用する場合:

たとえば、127.0.0.1:9999で管理ポートを構成する場合、生のDMSメトリックをURL http://127.0.0.1/dms/で表示できます。

セクション/WebLogicProxy [type=OHSWebLogic]のメトリックは、WLS OHSプラグインからのメトリックになります。

WLSTの使用(コロケート・モードのみ)

WLSTコマンドdisplayMetricTablesを使用して、パフォーマンス・メトリックを表示します。たとえば、次のようになります。

displayMetricTables(servertype="OHS", servers=<instancename>)

セクション/WebLogicProxy [type=OHSWebLogic]のメトリックは、Oracle WebLogic Serverプロキシ・プラグインからのメトリックになります。

Fusion Middleware Controlの使用(コロケート・モードのみ)

Fusion Middleware Controlでパフォーマンス・メトリックを表示するには、「Oracle HTTP Server」、「モニタリング」、「パフォーマンス・サマリー」の順に選択します。このページの下部にあるメトリックには、WLS OHSプラグインに固有のメトリックがあります。『Oracle HTTP Serverの管理』パフォーマンス・メトリックの表示に関する項を参照してください。

DMS状態メトリック

状態メトリックは、システムのステータス情報や、イベントに関連付けられていないメトリックを追跡します。状態メトリックの詳細は、表3-4を参照してください。

表2-2 WLS OHSプラグイン・モジュールの状態メトリック

メトリック名 説明

totalDeclines

拒否された(mod_wl_24で処理されない)リクエストの合計数。この数は、構成されていないリクエストまたはプロキシ・プラグインによって拒否されたリクエスト(たとえば、カスタムHTTPメソッドはプロキシ・プラグインによって常に拒否される)を示します

totalErrors

正常に処理できなかったリクエストの数。エラーについては、イベント・メトリックを参照してください。

totalHandled

mod_wl_24プロキシ・プラグインによって処理されたリクエストの合計数。

totalRequests

mod_wl_24によって受信されたリクエストの合計数。この数には、プロキシ・プラグインを対象とするすべてのリクエストと、どのモジュールも対象としない(構成されていない)リクエストが含まれます。

totalRetries

リクエストが再試行された回数。リクエストは、通常、失敗すると再試行されます(構成により異なる)。これまでにリクエストが再試行された場合、このメトリックは増分します(リクエストが再試行された回数に関係なく、リクエストごとに1回)。

totalSuccess

処理に成功したリクエストの数。リクエストの処理が成功した場合(Oracle WebLogic Serverにプロキシされてレスポンスがクライアントに返される)、このメトリックは増分します。

websocketActive

現在アクティブなWebSocketアップグレード・リクエストの数。

websocketClose

終了したWebSocketアップグレード・リクエストの数。WebSocketセッションを(なんらかの理由で)終了する場合、このメトリックが更新されます。

websocketMax

アクティブの可能性がある同時WebSocketリクエストの最大数。

WLMaxWebSocketClientsパラメータを構成する場合、次の値よりも低くなります。

  • 構成値または
  • MaxRequestWorkersの値の0.75 (Apache 2.4)

WLMaxWebSocketClientsパラメータが構成されていない場合、値はMaxRequestWorkersの値の0.5になります(Apache 2.4)。

WLMaxWebSocketClientsパラメータの詳細は、WebSocketアップグレード・リクエストのスループットを高めるためのOracle HTTP Serverのチューニングを参照してください。

websocketPercent

この値を定義するには、次のように、アクティブなWebSocketsの数(websocketActive)を同時WebSocketリクエストの最大数(websocketMax)で除算した値に100を掛けます。

(websocketActive/webocketMax)*100

websocketRequests

作成されたWebSocketアップグレード・リクエストの数。リクエストURIがWebSocketアップグレード・リクエストの場合、このメトリックは増分します。

websocketSuccess

正常に完了したWebSocketアップグレード・リクエストの数。Oracle WebLogic Serverが「101 プロトコルの切替え中」でWebSocketアップグレード・リクエストに応答する場合、このメトリックは更新されます。

DMSイベント・メトリック

DMSイベント・メトリックは、システム・イベントをカウントします。DMSイベントは、継続時間の短いシステム・イベントや、イベントの継続時間よりもイベントの発生が重要な場合のイベントを追跡します。イベント・メトリックの詳細は、表3-5を参照してください。

表2-3 WLS OHSプラグインのイベント・メトリック。

メトリック名 説明

errConnRefused

CONNECTION_REFUSEDエラーの数。構成されたWebLogicHostまたはWebLogicPortに到達できないか、リスニングしない回数を表します。

errNoResources

NO_RESOURCESエラーの数この例外が発生するシナリオの1つは、SSLがプロキシ・プラグインで構成されているが、対応するSSL構成が管理対象サーバーに定義されていない場合です。

errOthers

他のエラーの数。たとえば、POSTデータ・サイズは、MaxPostSizeの値よりも大きくなります。

errReadClient

READ_ERROR_FROM_CLIENTエラーの数。プロキシ・プラグインがクライアント(ブラウザ)から読み取れなかった回数を示します。

errReadServer

READ_ERROR_FROM_SERVERエラーの数。読取り操作がOracle WebLogic Serverで正常に行われなかった回数を表します。

errReadTimeout

READ_TIMEOUTエラーの数。たとえば、WLIOTimeoutSecs内でOracle WebLogic Serverが応答しない場合などがあります。

errWriteClient

WRITE_ERROR_TO_CLIENTエラーの数。プロキシ・プラグインがクライアントに書き込めなかった回数を示します。これは、クライアントがリクエストを送信してもレスポンスの受信前に接続を終了する場合に表示されます。

errWriteWLS

WRITE_ERROR_TO_SERVERエラーの数。プロキシ・プラグインがOracle WebLogic Serverに書き込めなかった回数を示します。

wsClientClose

クライアントにより終了したWebSocketアップグレード・リクエストの数。クライアントがWebSocketアップグレード・リクエストを送信してクライアントが接続を終了する場合、このメトリックは更新されます。

wsErrorClose

エラーが原因で終了したWebSocketセッションの数。WebSocket接続が終了する原因となるエラーがある場合、このメトリックは更新されます。

wsNoUpgrade

WebSocketアップグレード・リクエストが拒否された回数。WebSocketアップグレード・リクエストのレスポンスは「101 プロトコルの切替え中」ではありません。これは、WebSockets (Oracle WebLogic Serverバージョン12.1.2以前)をサポートしないOracle WebLogic Serverにアップグレード・リクエストが送信される場合に発生します。

wsServerClose

サーバーにより終了したWebSocketアップグレード・リクエストの数。Oracle WebLogic ServerがWebSocket通信の終了を開始する場合、このメトリックは更新されます。たとえば、リクエストのアップグレード後のタイムアウトまたは通信なし(デフォルトで5分)など。

DMS PhaseEventメトリック

DMS PhaseEventメトリックは、コード内の特定セクションの開始から終了までにかかる時間を測定します。PhaseEventは、あるメソッドまたはコード・ブロックの時間を追跡します。フェーズ・イベントごとに、「アクティブな件数」、「完了した件数」、「合計時間」、「最小時間」、「最大時間」、「平均時間」の値が含まれます。PhaseEventメトリックの詳細は、表3-6を参照してください。

表2-4 WLS OHSプラグインのPhaseEventメトリック

メトリック名 説明

websocketPhase

進行中のWebSocket通信。「WebSocketアップグレードの成功」から「WebSocket接続の終了」までのフェーズ(時間)

wlsWait

「Oracle WebLogic Serverへのリクエストの送信」から「レスポンスの待機中」までのフェーズ(時間)。

Oracle HTTP Serverの非推奨ディレクティブ

WLS OHSプラグイン用のWebLogic Serverプラグイン・ログは、現在はWebサーバーのエラー・ログ・メカニズムの一部となっています。モジュール名をweblogicとしてリファレンスを識別できます。

たとえば:

[2015-05-14T00:43:27.8355-06:00] [OHS] [TRACE:16] [OH99999] [weblogic] [client_id: ::1] [host_id: XXXXXXXX] [host_addr: XX.XXX.XXX.XXX] [pid: 1240] [tid: 2424] [user: sramavan] [ecid: 00iT9hK4DrhFw0zobn063z0BvEE3zsYyk0000JO00000H] [rid: 0] [VirtualHost: main] ================New Request: [GET /favicon.ico HTTP/1.1] =================

ディレクティブWLLogFileおよびDebugは非推奨です。構成でこれらのディレクティブを使用すると、次のノートがノード・マネージャのプラグイン・ログ・ファイル(ohs_nm.log)に表示されます。

<2015-05-14 00:36:25> <INFO> <OHS-0> <[Thu May 14 00:36:25.723286 2015] [weblogic:warn] [pid 5084:tid 668] The Debug directive is ignored. The web server log level is used instead.>

<2015-05-14 00:36:25> <INFO> <OHS-0> <[Thu May 14 00:36:25.724263 2015] [weblogic:warn] [pid 5084:tid 668] The WLLogFile directive is ignored. The web server log file is used instead.>

プラグイン・ログを有効にするには:

  • OraLogModeODL-textに設定した場合は、OraLogSeverityをTRACE:16に設定します。これらのログは、OraLogDirディレクトリに表示されます(instance-name.log)。これはデフォルトの設定です。

  • OraLogModeapacheに設定した場合は、LogLeveldebugに設定します。ディレクティブErrorLogは、エラーの記録先となるファイルを示します。

『Oracle HTTP Serverの管理』「Oracle HTTP Serverログの管理」を参照してください。