| 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": [
]
}