Oracle® Fusion Middleware Oracle WebLogic ServerにおけるRESTful管理サービスの使用 11gリリース1 (10.3.6) B66146-01 |
|
Oracle WebLogic ServerにおけるRESTful管理サービスの使用
11gリリース1 (10.3.6)
B66146-01(原本部品番号:E24682-01)
2011年11月
注意: WebLogic Serverの現在のリリースでは、RESTful管理サービスはWebLogic Serverの監視のみに限定されているため、GET HTTP メソッドのみサポートします。 |
次の項では、このガイド(『Oracle WebLogic ServerにおけるRESTful管理サービスの使用』)の内容と構成について説明します。
WebLogic Serverには、Oracle Public Cloud管理コンソール以外でのWebLogic Serverの監視を可能にするRESTful管理サービスが用意されています。このドキュメントでは、RESTful管理サービスの使用方法について説明します。
このマニュアルは、Java EEおよび一般的なアプリケーション管理の概念に精通している読者を対象としています。このドキュメントでは、限定的でありながら有用な一連のRESTful監視サービスを開発するための実践的な方法を重点的に扱います。
このドキュメントの構成は次のとおりです。
この章「概要とロード・マップ」では、このマニュアルの構成を紹介します。
「概要」では、WebLogic Serverに対するRESTful管理サービスの使用の概要を示します。
「始める前に」では、WebLogic ServerでRESTful管理サービスを有効にする方法について説明します。
「REST URLを使用したWebLogic Serverドメインの監視」では、HTTP URLの形式と使用法、サポートされているリクエストのコンテンツ・タイプについて説明します。
「WebLogic Serverを監視する場合にサポートされるRESTリソース」では、RESTful管理サービスを使用してWebLogic Serverドメインを監視する場合にサポートされるRESTリソースについて説明します。
WebLogic Serverアプリケーション用に他のタイプの管理サービスを開発するためのガイドラインについては、以下のドキュメントを参照してください。
アプリケーション・ロギングのためのWebLogicロギング・サービスの使用。WebLogicによるログ・メッセージの国際化とローカライゼーションのサポートについて説明し、WebLogic Serverで提供されているテンプレートおよびツールを使用して、ロケール固有のメッセージ・カタログを作成または編集する方法を示します。
WebLogic診断フレームワークの構成と使用。WebLogic診断フレームワークを構成して使用し、稼働しているサーバーとそのコンテナ内にデプロイされているアプリケーションで生成された診断データを作成、収集、分析、アーカイブおよびアクセスする方法について説明します。
WebLogic Server RESTful管理サービスには、Oracle Public Cloud管理コンソール以外でのWebLogic Serverの監視を可能にするRepresentational State Transfer (REST)リソースが用意されています。RESTクライアントは、Oracle Public PaaS WebLogicサービスでファイアウォールの内側で実行され、ドメインのサーバー、クラスタ、アプリケーションおよびデータ・ソースを監視できる柔軟でカスタマイズされたコンソールに、詳細な監視情報を埋め込むことができます。監視リソースは、内部Webアプリケーションでホストされます。
Administrators
グループまたはMonitors
グループに属するユーザーのみがRESTful管理サービスにアクセスできます。WebLogic Serverでのユーザー・ロールの定義の詳細は、『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』のユーザー、グループおよびセキュリティ・ロールに関する項を参照してください。
RESTful管理サービスを使用して、次のWebLogic Serverのコンポーネントを監視できます。
サーバー: ドメイン内のすべてのサーバー・インスタンスまたは指定されたサーバー・インスタンス。
クラスタ: ドメイン内のすべてのクラスタまたは指定されたクラスタ(クラスタのすべてのサーバー・メンバーを含む)。
アプリケーション: ドメインにデプロイされているすべてのアプリケーションまたは指定されたアプリケーション。
データ・ソース: ドメイン内で稼働しているすべてのデータ・ソースまたは指定されたデータ・ソース。
RESTful管理サービスをWebLogic Serverドメインで使用するには、WebLogic管理者がWebLogic Server管理コンソールを使用してサービスを有効にする必要があります。詳細は、管理コンソール・オンライン・ヘルプのRESTful管理サービスの有効化に関する項を参照してください。
WebLogic Serverの現在のリリースでは、RESTful管理サービスはWebLogic Serverの監視のみに限定されているため、GET HTTP
メソッドのみサポートします。監視される各WebLogic Serverのリソースには、HTTP Uniform Resource Locator (URL)を使用してアクセスできます。
WebLogic Serverの監視リソースURLの形式は次のとおりです。
http(s)://
host:port
/management/tenant-monitoring/
path
説明:
host
: WebLogic Serverが稼働しているホスト
port
: HTTPまたはHTTPSポート
path
: 個々のリソースを識別する相対パス。たとえば、サーバー・インスタンスのパスは、servers/
myserver
です。
WebLogic Server RESTful管理サービスでは、次の表記法がサポートされます。
JSON
XML
HTML
クライアントは、リソースの表記法をHTTPヘッダーに指定する必要があります。たとえば、クライアントがcURLユーティリティを使用する場合、次のように-H
オプションを使用してタイプを指定します。
JSON: -H "Accept application/json"
と指定します。
XML: -H "Accept application/xml"
と指定します。
HTML: -H
オプションを省略します。
WebLogic Server監視リソースの表記は2種類あります。
アイテム・リソースは、サーバー・インスタンスなどのWebLogic Serverエンティティのインスタンスを表します。
JSONを使用したサーバー・インスタンスのアイテム・リソース表記の例を次に示します。
{ "body": { "item": { // attributes for the item, e.g. // "name": "adminserver" // "state": "RUNNING", // … } }, "messages": [ // an array of messages ] }
使用可能な属性値の型は次のとおりです。
二重引用符""で囲んだ文字列
ブール(trueまたはfalse)
数値
null
"["と"]"で囲んだ配列
"{"と"}"で囲んだオブジェクト
XMLを使用したサーバー・インスタンスのアイテム・リソース表記の例を次に示します。
<?xml version="1.0" encoding="utf-8"?> <data> <object> <property name="body"> <object> <property name="item"> <object> <!-- <property name="Name"> <value type="string">adminserver</value> </property> // other properties --> </object> </property> </object> </property> <property name="messages"> <array> <!-- message objects --> </array> </property> </object> </data>
コレクション・リソースは、同じタイプのWebLogic Serverエンティティのセットを表します。たとえば、ドメイン内のすべてのサーバーを表す場合などです。通常、コレクション内のエンティティごとにアイテム・リソースが存在します。
JSONを使用したドメイン内のすべてのサーバーのコレクション・リソース表記の例を次に示します。
{ "body": { "items": [ { // attributes for item 1 // "name": "adminserver" // "state": "RUNNING", // … }, { // attributes for item 2 }, … { // attributes for item n } ], "messages": [ ] }
XMLを使用したドメイン内のすべてのサーバーのコレクション・リソース表記の例を次に示します。
<?xml version="1.0" encoding="utf-8"?> <data> <object> <property name="body"> <object> <property name="items"> <array> <!-- <object> <property name="name"> <value type="string">adminserver</value> </property> // other properties </object> // other items --> </array> </property> </object> </property> <property name="messages"> <array> <!-- <object> <property name="severity"> <value type="string">WARNING</value> </property> <property name="message"> <value type="string">Server ms1 is not running.</value> </property> </object> // other messages --> </array> </property> </object> </data>
コレクション・リソースでは、コンパクト・レスポンス形式がデフォルトで使用されます。つまり、コレクションの各アイテムについて、使用可能な全監視情報のサブセットのみが返されます。
各アイテムについてフル・レスポンス形式で取得するには、リクエスト・パラーメータにformat=full
を追加する必要があります。次に例を示します。
http://
host:port
/management/tenant-monitoring/servers?format=full
アイテム・リソースでは、RESTインタフェースを介して取得された全監視情報が含まれたフル・レスポンス形式が常に使用されます。アイテム・リソースの本体アイテムには、フル形式のコレクション・アイテムの対応するアイテムと完全に同じ情報が含まれます。
この項では、RESTful管理サービスを使用してWebLogic Serverドメインを監視する場合にサポートされるRESTリソースについて説明します。
次に示す/servers
URLでは、ドメインに構成されているすべてのサーバーが返され、各サーバーのランタイム情報(サーバーの状態やヘルス状態など)が示されます。
http(s)://
host:port
/management/tenant-monitoring/servers
表1 ドメイン内のすべてのサーバーを監視する場合のRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
サーバーの名前。 |
|
文字列 |
サーバーのステータス。想定されている状態は次のとおりです。
|
|
文字列 |
サーバーのヘルス状態。想定されているヘルス状態は次のとおりです。
|
/servers
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "items": [ { "name": "adminserver", "state": "RUNNING", "health": " HEALTH_OK " }, { "name": "ms1", "state": "SHUTDOWN", "health": "" } ], }, "messages": [ ] }
次に示す/servers/{servername}
URLでは、ドメイン内の指定されたサーバーの情報(サーバーの状態やJVMの空きヒープなど)が返されます。
http(s)://
host:port
/management/tenant-monitoring/servers/{servername}
表2 ドメイン内の指定されたサーバーを監視する場合のRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
サーバー・インスタンスの名前。 |
|
文字列 |
サーバーのステータス。想定されている状態は次のとおりです。
|
|
文字列 |
サーバーのヘルス状態。想定されているヘルス状態は次のとおりです。
|
|
文字列 |
サーバーが属するクラスタ。 |
|
文字列 |
サーバーが稼働しているマシン。 |
|
文字列 |
WebLogic Serverインスタンスのバージョン。 |
|
数値 |
このサーバーでソケット多重化用に登録されている現在のソケット数。 |
|
数値 |
JVMヒープの現在のサイズ(バイト)。 |
|
数値 |
JVMヒープ内の現在使用可能なメモリー量(バイト)。 |
|
文字列 |
JVMのJavaのバージョン。 |
|
文字列 |
JVMが稼働しているオペレーティング・システム。 |
|
文字列 |
JVMが稼働しているオペレーティング・システムのバージョン。 |
|
数値 |
VMによってすべてのプロセッサにかかっている平均負荷。たとえば、1.0は100%を表します。 |
/servers/{servername}
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "item": { "name": "adminserver", "clusterName": null, "state": "RUNNING", "currentMachine": "machine-0", "weblogicVersion": "WebLogic Server 12.1.1.0.0 Thu May 5 01:17:16 2011 PDT", "openSocketsCurrentCount": 2, "health": "HEALTH_OK", "heapSizeCurrent": 536870912, "heapFreeCurrent": 39651944, "heapSizeMax": 1073741824, "javaVersion": "1.6.0_20", "osName": "Linux", "osVersion": "2.6.18-238.0.0.0.1.el5xen", "jvmProcessorLoad": 0.25, } }, messages: [ ] }
次に示す/clusters
URLでは、ドメインに構成されているすべてのクラスタが返され、各クラスタおよび各クラスタ・メンバー・サーバーのランタイム情報(すべてのメンバー・サーバーの状態やヘルス状態など)が示されます。
http(s)://
host:port
/management/tenant-monitoring/clusters
表3 ドメイン内のすべてのクラスタを監視する場合のRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
クラスタの名前。 |
|
文字列 |
クラスタのメンバー・サーバー。
|
/clusters
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "items": [ { "name": "mycluster1", "servers": [ { "name": "ms1", "state": "RUNNING", "health": "HEALTH_OK" }, { "name": "ms2", "state": "RUNNING", "health": "HEALTH_OVERLOADED" } ] } ], }, "messages": [ ] }
次に示す/clusters/{clustername}
URLでは、指定されたクラスタとそのメンバー・サーバーのランタイム情報(すべてのメンバー・サーバーの状態やヘルス状態など)が返されます。
http(s)://
host:port
/management/tenant-monitoring/clusters/{clustername}
表4 ドメイン内の指定されたクラスタを監視する場合のRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
クラスタの名前。 |
|
オブジェクトまたは数値 |
クラスタのメンバー・サーバー。
|
/cluster
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "item": { "name": "mycluster1", "servers": [ { "name": "ms1", "state": "RUNNING", "health": "OK", "clusterMaster": false, "dropOutFrequency": "Never" "resendRequestsCount": 0, "fragmentsSentCount": 3708, "fragmentsReceivedCount": 3631 }, { "name": "ms2", "state": "RUNNING", "health": "OK" ... } ] } }, "messages": [ ] }
次に示す/applications
URLでは、ドメインにデプロイされているすべてのアプリケーションとそのランタイム情報(アプリケーションのタイプとその状態やヘルス状態など)が返されます。
http(s)://
host:port
/management/tenant-monitoring/applications
表5 ドメインにデプロイされているすべてのアプリケーションを監視する場合のRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
アプリケーションの名前。 |
|
文字列 |
アプリケーション・タイプ。想定されているタイプは次のとおりです。
|
|
文字列 |
統合されたアプリケーションの実行ステータス。想定されている状態は次のとおりです。
|
|
文字列 |
アプリケーションの統合されたヘルス状態。想定されているヘルス状態は次のとおりです。
|
/applications
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "items": [ { "name": "appscopedejbs", "type": "ear", "state": "STATE_ACTIVE", "health": " HEALTH_OK" }, { "name": "MyWebApp", "type": "war", "state": "STATE_NEW" } } ], }, "messages": [ ] }
/applications/{applicationname}
URLでは、指定されたアプリケーションのランタイム情報(エンティティBean、アプリケーション・スコープのワーク・マネージャ、データ・ソースの統計など)が返されます。
http(s)://
host:port
/management/tenant-monitoring/applications/{applicationname}
表6 ドメインにデプロイされている指定されたアプリケーションを監視する場合のRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
アプリケーションの名前。 |
|
文字列 |
アプリケーション・タイプ。想定されているタイプは次のとおりです。
|
|
文字列 |
統合されたアプリケーションの実行ステータス。想定されている状態は次のとおりです。
|
|
文字列 |
アプリケーションの統合されたヘルス状態。想定されているヘルス状態は次のとおりです。
|
|
オブジェクト |
各ターゲットのアプリケーション実行ステータス。
|
|
オブジェクト |
埋込みデータ・ソースのランタイム情報。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されているワーク・マネージャの統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されている最小スレッド制約の統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されている最大スレッド制約の統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されているリクエスト・クラスの統計。
|
/applications/{applicationname}
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "item": { "name": "appscopedejbs", "type": "ear", "health": " HEALTH_OK ", "state": "STATE_ACTIVE", "targetStates": [ { "target": "ms1", "state": "STATE_ACTIVE", }, { "name": "ms2", "state": "STATE_ACTIVE", } ] , "dataSources": [ ], "entities": [ ], "workManagers": [ { "name": "default", "server": "ms1", "pendingRequests": 0, "completedRequests": 0 } ], "minThreadsConstraints": [ { "name": "minThreadsConstraints-0", "server": "ms1", "completedRequests"; 0, "pendingRequests"; 0, "executingRequests": 0, "outOfOrderExecutionCount":0, "mustRunCount": 0, "maxWaitTime": 0, "currentWaitTime": 0 } ], "maxThreadsConstraints": [ { "name": "maxThreadsConstraints-0", "server": "ms1", "executingRequests": 0, "deferredRequests": 0 } ], "requestClasses": [ { "name": "requestClasses-0", "server": "ms1", "requestClassType"; "fairshare", "completedCount"; 0, "totalThreadUse": 0, "pendingRequestCount":0, "virtualTimeIncrement": 0 } ] } }, "messages": [ ] }
次に示す/datasources
URLでは、ドメインに構成されているすべての汎用JDBCデータ・ソースとGridLink JDBCデータ・ソースが返され、各データ・ソースのランタイム情報が示されます。
http(s)://
host:port
/management/tenant-monitoring/datasources
表7 ドメイン内のすべてのデータ・ソースを監視する場合のRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
データ・ソースの名前。 |
|
文字列 |
データ・ソースのタイプ。 |
|
文字列 |
データ・ソース・インスタンスのランタイム情報。
|
/datasources
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "items": [ { "name": "genericDS", "type": "Generic" "instances": [ { "server": "ms1", "state": "Running" }, { "server": "ms2", "state": "Suspended" } ] }, { "name": "gridlinkDS", "type": "GridLink", "instances": [ { "server": "ms1", "state": "Running" }, ] } ], }, "messages": [ ] }
次に示す/datasources/{datasourcename}
URLでは、指定されたデータ・ソースのランタイム情報(GridLinkデータ・ソースのOracle RAC統計など)が返されます。
http(s)://
host:port
/management/tenant-monitoring/datasources/{datasourcename}
図8 ドメイン内の指定されたデータ・ソースを監視する場合のRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
データ・ソースの名前。 |
|
文字列 |
データ・ソースのタイプ。 |
|
オブジェクトまたは数値 |
データ・ソース・インスタンスのランタイム情報。
|
|
オブジェクトまたは数値 |
|
|
オブジェクトまたは数値 |
|
|
オブジェクトまたは数値 |
|
/datasources/{datasourcename}
URLのJSON形式のレスポンスの例は次のとおりです。
{ "body": { "item": { "name": "gridlinkDS", "instances": [ { "server": "ms1", "state": 'Running", "enabled": true, "activeConnectionsAverageCount": 5, … "racInstances": [ { "instanceName": "gridlinkDS-0", "state": "Running", … }, { "instanceName": "gridlinkDS-1", "state": "Suspended", … } ] } } }, "messages": [ ] }
Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
を参照してください。
Oracleサポートへのアクセス
Oracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
か、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
を参照してください。
Oracle Fusion Middleware Oracle WebLogic ServerにおけるRESTful管理サービスの使用, 11gリリース1 (10.3.6)
B66146-01
Copyright © 2007, 2011, Oracle and/or its affiliates.All rights reserved.
このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。
ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。
このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。
OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。
Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。
このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。