Oracle® Fusion Middleware Oracle WebLogic ServerにおけるRESTful管理サービスの使用 11gリリース1 (10.3.6) B66146-02 |
|
![]() 前 |
この章では、WebLogic ServerでRESTful管理サービスを使用する方法について説明します。
この章の内容は次のとおりです。
WebLogic Server RESTful管理サービスには、WebLogic ServerをOracle Public Cloud管理コンソールの外部で監視できるようにするRepresentational State Transfer (REST)リソースが用意されています。RESTクライアントは、Oracle Public PaaS WebLogic Serviceのファイアウォールの背後で実行されているときにドメインのサーバー、クラスタ、アプリケーションおよびデータ・ソースを監視できる柔軟でカスタマイズされたコンソールに、きめ細かな監視情報を埋め込むことができます。監視リソースは、内部Webアプリケーションによってホストされます。
Administrators
グループまたはMonitors
グループに属するユーザーだけが、RESTful管理サービスにアクセスできます。WebLogic Serverでのユーザー・ロールの定義の詳細は、『Oracle Fusion Middleware Oracle 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 ] }
使用可能な属性値型は次のとおりです。
二重引用符""で囲んだstring
trueまたはfalseのboolean
数値
null
"["および"]"で囲んだarray
"{"および"}"で囲んだobject
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
表2-1 ドメイン内のすべてのサーバーを監視するためのRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
サーバーの名前。 |
|
文字列 |
サーバーのステータス。想定されている状態は次のとおりです。
|
|
文字列 |
サーバーのヘルス状態。想定されているヘルス状態は次のとおりです。
|
JSON形式での/servers
URLレスポンスの例を次に示します。
{ "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-2 ドメイン内の指定したサーバーを監視するためのRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
サーバー・インスタンスの名前。 |
|
文字列 |
サーバーのステータス。想定されている状態は次のとおりです。
|
|
文字列 |
サーバーのヘルス状態。想定されているヘルス状態は次のとおりです。
|
|
文字列 |
サーバーが属するクラスタ。 |
|
文字列 |
サーバーが実行されているマシン。 |
|
文字列 |
WebLogic Serverインスタンスのバージョン。 |
|
数値 |
サーバーのソケット多重化用に登録されている現在のソケット数。 |
|
数値 |
JVMヒープの現在のサイズ(バイト単位)。 |
|
数値 |
JVMヒープで使用可能な現在のメモリー量(バイト単位)。 |
|
文字列 |
JVMのJavaバージョン。 |
|
文字列 |
JVMが実行されているオペレーティング・システム。 |
|
文字列 |
JVMが実行されているオペレーティング・システムのバージョン。 |
|
数値 |
VMがすべてのプロセッサに与えている平均負荷。たとえば、1.0は100%を表します。 |
JSON形式での/servers/{servername}
URLレスポンスの例を次に示します。
{ "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
表2-3 ドメイン内のすべてのクラスタを監視するためのRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
クラスタの名前。 |
|
文字列 |
クラスタのメンバー・サーバー。
|
JSON形式での/clusters
URLレスポンスの例を次に示します。
{ "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}
表2-4 ドメイン内の指定したクラスタを監視するためのRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
クラスタの名前。 |
|
オブジェクトまたは数値 |
クラスタのメンバー・サーバー。
|
JSON形式での/cluster
URLレスポンスの例を次に示します。
{ "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
表2-5 ドメインにデプロイされたすべてのアプリケーションを監視するためのRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
アプリケーションの名前。 |
|
文字列 |
アプリケーション・タイプ。想定されているタイプは次のとおりです。
|
|
文字列 |
統合されたアプリケーションの実行ステータス。想定されている状態は次のとおりです。
|
|
文字列 |
アプリケーションの統合されたヘルス状態。想定されているヘルス状態は次のとおりです。
|
JSON形式での/applications
URLレスポンスの例を次に示します。
{ "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}
表2-6 ドメインにデプロイされた指定したアプリケーションを監視するためのRESTリソース
アイテム属性 | 型 | 有効な値 |
---|---|---|
|
文字列 |
アプリケーションの名前。 |
|
文字列 |
アプリケーション・タイプ。想定されているタイプは次のとおりです。
|
|
文字列 |
統合されたアプリケーションの実行ステータス。想定されている状態は次のとおりです。
|
|
文字列 |
アプリケーションの統合されたヘルス状態。想定されているヘルス状態は次のとおりです。
|
|
オブジェクト |
各ターゲットのアプリケーション実行ステータス。
|
|
オブジェクト |
埋込みデータ・ソースのランタイム情報。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されているワーク・マネージャの統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されている最小スレッド制約の統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されている最大スレッド制約の統計。
|
|
オブジェクトまたは数値 |
アプリケーションに対して構成されているリクエスト・クラスの統計。
|
JSON形式での/applications/{applicationname}
URLレスポンスの例を次に示します。
{ "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は、ドメインに構成されたすべての汎用およびGridLink JDBCデータ・ソースを返し、各データ・ソースのランタイム情報を提供します。
http(s)://
host:port
/management/tenant-monitoring/datasources
表2-7 ドメイン内のすべてのデータ・ソースを監視するためのRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
データ・ソースの名前。 |
|
文字列 |
データ・ソース・タイプ( |
|
文字列 |
データ・ソース・インスタンスのランタイム情報。
|
JSON形式での/datasources
URLレスポンスの例を次に示します。
{ "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}
表2-8 ドメイン内の指定したデータ・ソースを監視するためのRESTリソース
アイテム属性 (コンパクト形式) |
型 | 有効な値 |
---|---|---|
|
文字列 |
データ・ソースの名前。 |
|
文字列 |
データ・ソース・タイプ( |
|
オブジェクトまたは数値 |
データ・ソース・インスタンスのランタイム情報。
|
|
オブジェクトまたは数値 |
|
|
オブジェクトまたは数値 |
|
|
オブジェクトまたは数値 |
|
JSON形式での/datasources/{datasourcename}
URLレスポンスの例を次に示します。
{ "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": [ ] }