ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server RESTful Webサービスの開発と保護
12c (12.1.2)
E47996-02
  目次へ移動
目次

前
 
次
 

7 RESTful Webサービスとクライアントの監視

この章では、Java API for RESTful Web Services (JAX-RS)を使用して、Representational State Transfer (REST)アーキテクチャ・スタイルに従ったWebLogic Webサービスを監視する方法について説明します。

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

RESTful Webサービスの監視について

RESTful Webサービスを監視するには、表7-1に定義されているいずれかのメソッドを使用します。

表7-1 RESTful Webサービスの監視用メソッド

メソッド 説明

Enterprise Manager Fusion Middleware Control

実行時情報にアクセスし、実行時統計を監視します。詳細は、「Enterprise Manager Fusion Middleware Controlを使用したRESTful Webサービスの監視」を参照してください。

WebLogic Server管理コンソール

実行時情報にアクセスし、実行時統計を監視します。詳細は、「管理コンソールを使用したRESTful Webサービスの監視」を参照してください。

WebLogic Scripting Tool (WLST)

実行時情報にアクセスし、実行時統計を監視します。詳細は、「WLSTを使用したRESTful Webサービスの監視」を参照してください。

ログ・フィルタ

リクエストが処理される方法と、Jersey JAX-RS RIコンポーネントにディスパッチされる方法を監視します。詳細は、「トレース機能の有効化」を参照してください。


Enterprise Manager Fusion Middleware Controlを使用したRESTful Webサービスの監視

Enterprise Manager Fusion Middleware Controlを使用すると、RESTfulアプリケーションおよびリソースの統計(エラー数、呼出し回数、実行回数など)を監視できます。詳細は、『Webサービスの管理』のWebサービスの監視に関する項を参照してください。

管理コンソールを使用したRESTful Webサービスの監視

管理コンソールを使用すると、RESTfulアプリケーションおよびリソースの統計(エラー数、呼出し回数、実行回数など)を監視できます。

管理コンソールを使用してデプロイ済RESTful Webサービスを監視するには、次の手順を実行します。

  1. 次のURLを使用して、ブラウザで管理コンソールを呼び出します。

    http://[host]:[port]/console
    

    各文字列の説明:

    • host - WebLogic Serverが動作しているコンピュータの名前。

    • port - WebLogic Serverがリスニングしているポート番号(デフォルト値は7001です)。

  2. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのRESTful Webサービスの監視に関する項で説明されている手順に従います。

WLSTを使用したRESTful Webサービスの監視

WebLogic Serverは表7-2に定義されたものを含む、ランタイムMBeanを提供し、これにより、実行時情報を取得し、RESTful Webサービス・アプリケーションの実行時統計を監視することができます。

表7-2 RESTful Webサービスの監視用ランタイムMBean

ランタイムMBean 説明

JaxRsApplication

RESTful Webサービス・アプリケーションの監視情報を表示します。詳細は、WebLogic Server MBean リファレンスのJaxRsApplicationRuntimeBeanに関する項を参照してください。

ResourceConfig

RESTful Webサービス・アプリケーションのリソース構成に関する監視情報を表示します。詳細は、WebLogic Server MBean リファレンスのJaxRsResourceConfigTypeRuntimeBeanに関する項を参照してください。

RootResources

RESTful Webサービスのリソースに関する監視情報を表示します。コンテナにより管理されるすべてのオブジェクト(EJBなど)はアプリケーション・スコープを含みます。その他のすべてのリソースはデフォルトでリクエスト・スコープを含みます。詳細は、WebLogic Server MBean リファレンスのJaxRsResourceRuntimeBeanに関する項を参照してください。

Servlet

RESTful Webサービス・アプリケーションをホストするサーブレットの監視情報を表示します。詳細は、WebLogic Server MBean リファレンスのServletRuntimeMBeanに関する項を参照してください。


WLSTを使用してRESTful Webサービスを監視するには、次のプロシージャで提供される手順を実行します。

このプロシージャでは、手順の例により、WebLogic Serverのサンプル・サーバーとともに提供されるRESTful Webサービス・サンプルの監視方法を示します。『Oracle WebLogic Serverの理解』のサンプル・アプリケーションとコード例に関する項を参照してください。

  1. 『WebLogic Scripting Toolの理解』のWLSTの呼出しに関する項の説明に従って、WLSTを呼び出します。

    以下に例を示します。

    c:\> java weblogic.WLST
    
  2. 『WebLogic Server WLSTコマンド・リファレンス』のconnectに関する項の説明に従って、管理サーバー・インスタンスに接続します。

    以下に例を示します。

    wls:/offline> connect('weblogic','password','t3://localhost:8001') 
    
  3. 『WebLogic Server WLSTコマンド・リファレンス』のserverRuntimeに関する項の説明に従って、サーバー・ランタイムMBeanに移動します。

    以下に例を示します。

    wls:/wl_server/serverConfig> serverRuntime()
    Location changed to serverRuntime tree. This is a read-only tree
    with ServerRuntimeMBean as the root.
    For more help, use help('serverRuntime')
    wls:/wl_server/serverRuntime> 
    
  4. Webアプリケーション・コンポーネント・ランタイムMBeanに移動します。

    たとえば、jaxrsという名前のアプリケーションのランタイムMBeanに移動するには、次を実行します。

    wls:/wl_server/serverRuntime> cd('ApplicationRuntimes/jaxrs')
    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs> cd('ComponentRuntimes')
    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes> cd('examplesServer_/jaxrs')
    
  5. RESTful Webサービス・サーブレットのアプリケーション・ランタイムMBeanに移動します。

    以下に例を示します。

    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes/examplesServer_/jaxrs> cd('JaxRsApplications/RestServlet')
    
  6. RESTful Webサービス・アプリケーションについて表示される監視情報を確認します。詳細は、WebLogic Server MBean リファレンスのJaxRsApplicationRuntimeBeanに関する項を参照してください。

    以下に例を示します。

    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes/example
    sServer_/jaxrs/JaxRsApplications/RestServlet> ls()
    dr--   ResourceConfig
    dr--   RootResources
    dr--   Servlet
     
    -r--   ErrorCount                                   0
    -r--   ExecutionTimeAverage                         0
    -r--   ExecutionTimeHigh                            0
    -r--   ExecutionTimeLow                             0
    -r--   ExecutionTimeTotal                           0
    -r--   HttpMethodCounts                             {}
    -r--   InvocationCount                              0
    -r--   LastErrorDetails                             null
    -r--   LastErrorMapper                              null
    -r--   LastErrorTime                                0
    -r--   LastHttpMethod                               null
    -r--   LastInvocationTime                           0
    -r--   LastResponseCode                             -1
    -r--   Name                                         RestServlet
    -r--   ResponseCodeCounts                           {}
    -r--   StartTime                                    1321907929703
    -r--   Type                                         JaxRsApplicationRuntime
     
    -r-x   preDeregister                                Void :
    
    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes/example
    sServer_/jaxrs/JaxRsApplications/RestServlet>
    
  7. 次のいずれかのランタイムMBeanに移動して、追加の監視情報を表示します。MBeanに関する詳細は、表7-2またはWebLogic Server MBean リファレンスを参照してください。

    • ResourceConfig

    • RootResources

    • Servlet

  8. 『WebLogic Scripting Toolの理解』のWLSTの終了に関する項の説明に従って、WLSTを終了します。

    以下に例を示します。

    wls:/wl_server/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes/example
    sServer_/jaxrs/JaxRsApplications/RestServlet> exit()
    Exiting WebLogic Scripting Tool ...
    c:\>
    

トレース機能の有効化

Jerseyトレース機能は、リクエストが処理されJersey JAX-RS RIコンポーネントにディスパッチされる状況を説明する有用な情報を提供します。トレース・メッセージは発生順に出力されるので、その番号はトレース順序を再構成するのに役立ちます。

次にトレース・メッセージの例を示します。このメッセージは、リクエスト・パスと、一致する最初の正規表現のセットを、左から右の順序で示します。

例7-1 トレース・メッセージの例

Trace 001:
X-Jersey-Trace-001  match path "/items/3/tracks/2/" -> "/application\\.wadl(/.\*)?", "/happy(/.\*)?", "(/.\*)?"

この機能は、サーバー全体またはリクエストごとに有効にできます。次の項を参照してください。

サーバー全体のトレース機能の有効化方法

サーブレットにパッケージ化されたRESTful Webサービス・アプリケーション(「サーブレットとのパッケージ化」を参照)に対してサーバー全体のトレース機能を有効化できます。web.xmlファイルには次の要素が存在します。

  • 次のように定義されたサーブレットクラス。

    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    
  • Trueに設定された次のいずれかの<init-param>

    • com.sun.jersey.config.feature.TracePerRequest

    • com.sun.jersey.config.feature.Trace

サーバー全体のトレース機能を有効にするには:

  • アプリケーションとパッケージ化されたweb.xmlデプロイメント記述子を更新し、次の<init-param>要素を追加します。

    <init-param>
        <param-name>com.sun.jersey.config.feature.Trace</param-name>
        <param-value>true</param-value>
    </init-param>
    

    <init-param要素の詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のサーブレットに関する項を参照してください。

  • com.sun.jersey.api.core.ResourceConfig.FEATURE_TRACEプロパティを有効化します。詳細は、https://jersey.java.net/apidocs/1.13/jersey/index.html?com/sun/jersey/api/core/ResourceConfig.html#FEATURE_TRACEを参照してください。

リクエストごとのトレース機能の有効化方法

サーブレットにパッケージ化されたRESTful Webサービス・アプリケーション(「サーブレットとのパッケージ化」を参照)に対してリクエストごとのトレース機能を有効化できます。web.xmlファイルには次の要素が存在します。

  • 次のように定義されたサーブレットクラス。

    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    
  • Trueに設定された次のいずれかの<init-param>

    • com.sun.jersey.config.feature.TracePerRequest

    • com.sun.jersey.config.feature.Trace

リクエストごとのトレースでは、リクエスト・ヘッダーがX-Jersey-Trace-Acceptという名前で存在する場合に、トレース・メッセージが出力されます。

トレース・メッセージは主にX-Jersey-Trace-XXX形式のヘッダー名のレスポンス・ヘッダーとして出力され、このXXXはトレース・メッセージ番号に対応する整数値で、ヘッダー値がトレース・メッセージです。メッセージが長すぎる場合など、レスポンス・ヘッダーにトレース・メッセージを含むことができない場合、トレース・メッセージがサーバーのログに記録されることがあります。

リクエストごとのトレース機能を有効にするには:

  • アプリケーションとパッケージ化されたweb.xmlデプロイメント記述子を更新し、次の<init-param>要素を追加します。

    <init-param>
        <param-name>com.sun.jersey.config.feature.TracePerRequest</param-name>
        <param-value>true</param-value>
    </init-param>
    

    <init-param要素の詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のサーブレットに関する項を参照してください。

  • Ecom.sun.jersey.api.core.ResourceConfig.FEATURE_TRACE_PER_REQUESTプロパティを有効化します。詳細は、https://jersey.java.net/apidocs/1.13/jersey/index.html?com/sun/jersey/api/core/ResourceConfig.html#FEATURE_TRACEを参照してください。