2 OIG構成ユーティリティについて

OIG構成ユーティリティは、構成タスクを簡略化するように設計されています。WebLogic Server UIで数十の値を変更する手動プロセスではなく、構成ユーティリティを使用すれば、一連の構成値をシステムに適用することにより、構成の完全な更新を1ステップで実行できます。ユーティリティでは、変更を適用する前に、現在のシステム設定のバックアップを作成します。構成の変更が原因で問題が発生した場合は、ユーティリティを使用して以前の構成にリストアできます。

WebLogic Serverで変更される属性は、OIG構成ユーティリティによって実行されるジェスチャと操作によって決まります。ジェスチャは1つ以上の操作で構成され、1つの操作によってジェスチャのドメイン内で一連の構成が実行されます。たとえば、tuneジェスチャには、WebLogic Serverの3つの側面(データベース、JVMおよびOIM)のパフォーマンスをチューニングする3つの操作が用意されています。WebLogic ServerのJVMパフォーマンスをチューニングするには、属性ファイル内のJVMパフォーマンスに関連する値を設定し、ユーティリティをコールして、tuneジェスチャからJVMチューニング操作を実行します。独自のジェスチャを実装してユーティリティとともに使用できます。詳細は、「ジェスチャの追加」を参照してください。

ユーティリティの構造と内容

OIG構成ユーティリティのインストール・ディレクトリには、ユーティリティそのものであるoig-config-utility.shが含まれています。このディレクトリには、ユーティリティで使用する次のディレクトリも含まれています:

ディレクトリ 説明
backup/ 各操作の後で暗黙的に作成された最新の状態のコピーが含まれています。
baseline/ ユーティリティで作成されたベースライン・イメージが含まれています。これらのファイルには、システム属性の現在の値(つまり、システムの現在の状態)が含まれています。
config/ ユーティリティで使用される入力ファイル(inputs.propertiesoig-configuration-attributes.jsonおよびoig-utility-config.json)が含まれています。
current_state/ ジェスチャ操作の実行後にシステムの現在の状態を格納するファイルが含まれています。
lib/ ユーティリティで使用されるライブラリ(ジェスチャ実装ライブラリ、ユーティリティ・ライブラリ、およびユーティリティのフレームワークのバックボーンであるサービス・プロバイダ(SPI)ライブラリなど)が含まれています。
logs/ ユーティリティで作成されたログが含まれています。
reports/ ユーティリティで実行される操作の影響を受ける属性の操作前および操作後の値を示すレポートが含まれています。
resource/ ユーティリティで使用されるリソース・ファイルが含まれています。

config/lib/およびresource/ディレクトリは、ユーティリティがインストールされた時点ですでに存在します。他のディレクトリは、必要に応じて、ユーティリティによって実行時に作成されます。

1つ以上の操作が実行されるたびに、変更の対象となる属性の現在の状態を収めたファイルがユーティリティによって作成され、backup/に格納されます。操作の実行後、最終的な状態がcurrent_state/ディレクトリに格納されます。操作の実行のたびに、backup/ディレクトリとcurrent_state/ディレクトリの両方にファイルが作成されます。

ベースラインには、ベースラインが作成された時点で有効なすべてのジェスチャとその操作の属性が含まれています。任意のバックアップ、ベースラインまたは現在の状態ファイルを使用して、システムの状態をリストアできます。デフォルトでは、これらのファイルはそれぞれbackup/baseline/およびcurrent_state/ディレクトリに格納されます。

構成ファイル

config/ディレクトリには、oig-utility-config.jsonoig-configuration-attributes.jsonおよびinputs.propertiesの各ファイルが含まれています。これらのファイルは、ユーティリティの構成、ユーティリティでWebLogic Server属性を構成する値の設定、およびユーティリティへの入力の受渡しをそれぞれ行うために使用されます。

oig-utility-config.json

ファイルoig-utility-config.jsonは、OIG構成ユーティリティの構成に使用されます。その内容により、ユーティリティで使用される一連のディレクトリ、使用する入力ファイルと属性ファイル、どのジェスチャが使用可能か、どのジェスチャが有効かが定義されます。

OIG構成ユーティリティに対して場所を構成できるディレクトリが5つあります。それらの値は、構成ファイル内で構成することも、システム/環境変数を使用して構成することもできます。ディレクトリが構成ファイルと環境変数の両方で定義されている場合は、環境変数の値が使用されます。次の表に、構成ファイル内のディレクトリ変数、対応する環境変数名、およびそのデフォルト値を示します:

構成ファイル変数名 システム/環境変数名 デフォルト値
backupDir BACKUP_DIR backup
baseLineDir BASELINE_DIR baseline
currentStateDir CURRENT_STATE_DIR current_state
logsDir LOGS_DIR logs
reportDir REPORTS_DIR reports

属性ファイルの値は、attributesFileエントリによって設定されます。デフォルト値はconfig/oig-configuration-attributes.jsonです。

gesturesConfig構造体配列には、OIG構成ユーティリティで使用できる各ジェスチャに関する情報が含まれています。各エントリには、ジェスチャの名前、ジェスチャ・クラス名、およびジェスチャが有効かどうかが含まれています。たとえば、ユーティリティに付属しているtuneジェスチャのエントリは次のとおりです:

{
    "name": "Tuning Gesture",
    "gestureClass": "com.oracle.oig.gestures.TuningGesture",
    "isEnabled": "true"
}

ジェスチャが使用されないようにするには、そのジェスチャのisEnabledの値をfalseに設定します。

ユーティリティ・ヘルプは、ユーザーが使用可能なジェスチャのリストを提供します。このリストには、oig-utility-config.jsonファイルの中でisEnabledの値がtrueである各ジェスチャが含まれています。

oig-configuration-attributes.json

oig-configuration-attributes.jsonファイルには、ユーティリティでWebLogic Serverの構成に使用されるスキーマが含まれています。

ユーティリティで使用される値を設定するには、oig-configuration-attributes.jsonを開き、実行しようとしているジェスチャ操作で使用される属性の値を編集します。ジェスチャ操作で使用される属性は、その操作の名前が付いたスキーマのセクションにあります(「Tune OIM Operation」など)。

たとえば、JVMの最小ヒープ領域と最大ヒープ領域の値をそれぞれ3072MBと4096MBに設定するとします。oig-configuration-attributes.jsonファイルの「Tune JVM Operation」セクションの値を次のように編集します:

"Tune JVM Operation": 
{
  "com.oracle.oig.config.attributes.JVMTuneAttributes": 
  {
    "minHeapSpace": "3072m",
    "maxHeapSpace": "4096m"
  }
}

これらの値でシステムを構成するには、属性ファイルを保存し、ユーティリティを実行して、JVMチューニング操作を実行します。

inputs.properties

inputs.propertiesファイルには、サポートされているすべてのジェスチャとその操作の必須入力ごとに、エントリが1つ含まれています。これらは、ユーティリティのコール時にコマンドラインで指定できる入力です。たとえば、WebLogic Serverのユーザー名とパスワードなどです。

ユーティリティをコールするたびに指定する必要がないように、値を指定しておく場合は、それをinputs.propertiesに入力できます。たとえば、WebLogic Serverのホストおよびポートが変わらない場合、このファイルにそれぞれのプロパティweblogicHostおよびweblogicPortの値を入力します。ユーティリティをコールすると、inputs.propertiesの値が使用されるため、コマンドラインに値を入力する必要はありません。

inputs.propertiesを介して指定する値がある場合、どの値を指定するかを選択できます。たとえば、パスワードを除くすべての必須入力の値をinputs.propertiesを介して指定します。その場合、パスワードはユーティリティのコール時に指定する必要があります。

ユーティリティを対話型モードで実行する際には、inputs.propertiesで値が定義されていない必須入力ごとに、値を入力するよう求められます。

ユーティリティをサイレント・モードで実行する際には、inputs.propertiesで値が定義されていない必須入力ごとに、コマンドラインに値を指定する必要があります。inputs.propertiesでも定義されている入力の値をコマンドラインに指定した場合、コマンドラインの値が使用されます。