プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server動的クラスタの拡張度の構成
12c (12.2.1.3.0)
E90326-03
目次へ移動
目次

前
次

6 カレンダベースのスケーリング

カレンダベースのスケーリングを使用して、カレンダ・スケジュールに基づいてクラスタをスケール・アップおよびスケール・ダウンできます。次の項では、カレンダベースのスケーリングの構成方法を、いくつかの例を示して説明します。

カレンダベースのスケーリングの概要

WLDFは、特定の時刻、一定期間経過後、または指定間隔で、カレンダ・スケジュールに応じて起動されるポリシーのアクションをサポートしています。カレンダベースのスケーリングでは、定義されたスケジュールに基づいてスケーリング・アクションを実行します。

カレンダベースのルール・スケジュールは、式言語としてJava式言語(EL)を利用するHarvesterルールでのみサポートされます。次のポリシー・タイプで、カレンダベースのルール・スケジュールがサポートされています。

  • カレンダベース

  • スマート・ルールベース

  • 収集対象メトリック

カレンダベースのスケーリングの構成

カレンダベースのスケーリングを構成するには、ポリシーを作成し、ポリシーのスケジュールを定義し、スケーリング・アクションを作成してそのポリシーに割り当てます。

ポリシー・スケジュールは、次に基づいて実行するように設定できます。

  • N秒ごと

  • N分ごと

  • N時間ごと

  • 特定の曜日(の特定の時刻)

  • 月内の特定の日(の特定の時刻)

ポリシー・スケジュールは、WLDFScheduleBeanに基づいています。表6-1に、ポリシー・スケジュールの設定に使用される属性を示します。

表6-1 WLDFScheduleBean属性

属性 デフォルト値 使用可能な値

dayOfMonth

* (毎日)

  • last: 月の最終日を指定

  • 1stから31st

  • 1から31

  • SunMonTuesWedsThursFriSat

  • -x: xは月の最終日の何日前かを示す数(たとえば、-7は月の最終日の7日前)

daysOfWeek

* (毎日)

  • 0から7 (07はどちらも日曜日を表す)

  • SunMonTuesWedsThursFriSat

hour

* (毎時)

  • 0から23

minute

*/5 (5分ごと)

  • 0から59

month

* (毎月)

  • 1から12

  • Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec

second

0

  • 0から59

timezone

n/a

  • デフォルトは地域のVMタイムゾーン

year

* (毎年)

  • 4桁の暦年。例: 2015

これらの属性は、次の構文を使用して、いくつかの方法で指定できます。この構文は、EJB ScheduleExpressionクラスによってサポートされます。この構文の詳細は、ScheduleExpressionのドキュメントを参照してください。

  1. 単一の値。例:

    second = "10"
    month = "Oct"
    
  2. 属性の可能値すべてを表すワイルドカード(*)を使用します。たとえば、すべての曜日を指定するには次のようにします。

    dayOfWeek = "*"
    
  3. 範囲。値の包含範囲に属性を制約します。範囲の両端はダッシュで区切って指定します。例:

    second = "1-10"
    dayOfWeek = "Mon-Fri"
    
  4. 増分。最初の値と間隔に基づき、スラッシュ(/)を使用してこの2つの値を区切って、属性を制約します。増分の使用は、secondminuteおよびhour属性を指定する場合のみサポートされます。例:

    • minute = "*/5"は、5分ごとを表します。この構文は、minute = "0,5,10,15,20,25,30,35,40,45,50,55"と同等です。

    • second = "30/10"は、1分のうち、30秒から開始して10秒ごとを表します。この構文は、second = "30,40,50"と同等です。

    注意:

    属性の最大値に達すると、増分は停止します。つまり、最大許容値を上回りません。

  5. リスト。カンマ区切りのリストを使用して、複数の許容される値または値の範囲に属性を制約します。各リスト項目は、値または範囲である必要があり、ワイルドカード、リストまたは増分であることはできません。例:

    second = "10,20,30"
    dayOfWeek = "Mon,Wed,Fri"
    minute = "0-10,30,40"
    

注意:

  • ドメインでカレンダベースのスケーリングを構成する前に、必ず動的クラスタを作成し、「拡張度を構成するための要件」で説明されている前提条件となるタスクを完了しておいてください。

  • ターゲットが管理サーバーに設定されているドメイン全体の診断システム・モジュールでは、カレンダベースのポリシーを構成する必要があります。

WebLogic Server管理コンソール、Fusion Middleware ControlまたはWLSTを使用して、カレンダ・ベースのスケーリングを構成できます(次の各項を参照)。

WebLogic Server管理コンソールを使用したカレンダベースのスケーリングの構成

WebLogic Server管理コンソールを使用してカレンダベースのスケーリングを構成する手順:

  1. カレンダベースのルールをサポートするポリシーを作成して有効化します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。

    注意:

    WebLogic Server管理コンソールを使用してカレンダベースのポリシーを作成する際に、ポリシーのスケジュールを指定し、さらにスケーリング・アクションを作成してポリシーに割り当てることもできます。ポリシー自体の作成時にポリシーのスケジュールおよびスケーリング・アクションを指定しない場合、次の手順を使用して後で構成を完了できます。

  2. ポリシーのスケジュールを設定または更新します。

    1. 管理コンソールの左側のペインで「診断」を展開して、「診断モジュール」を選択します。

    2. 構成するポリシーを含む診断モジュールを選択します。

    3. 「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。

    4. 「スケジュール」ページを選択して、ポリシーに対して希望するスケジュール設定を定義します。

    5. 「保存」をクリックします。

  3. スケーリング・アクションを作成、有効化します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。

  4. ポリシーにスケーリング・アクションを割り当てます。

    注意:

    指定のポリシーには1つのスケーリング・アクションしか割り当てることができません。

    1. 管理コンソールの左側のペインで「診断」を展開して、「診断モジュール」を選択します。

    2. 構成するポリシーを含む診断システム・モジュールを選択します。

    3. 「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。

    4. 「アクション」ページを選択します。

    5. 「スケーリング・アクション」セクションで、「アクションのスケール・アップ」「アクションのスケール・ダウン」のいずれかを選択し、このポリシーに割り当てるスケール・アップまたはスケール・ダウン・アクションを選択します。あるいは、「新規スケール・アップ・アクション」または「新規スケール・ダウン・アクション」をクリックして、このポリシーの新規スケーリング・アクションを作成します。

    6. 「保存」をクリックします。

Fusion Middleware Controlを使用したカレンダベースのスケーリングの構成

Fusion Middleware Controlを使用してカレンダベースのスケーリングを構成する手順:

  1. カレンダベースのルールをサポートするポリシーを作成して有効化します。Fusion Middleware ControlによるOracle WebLogic Serverの管理の新しいポリシーの作成を参照してください。

    注意:

    Fusion Middleware Controlでのポリシーソールでの作成時に、ポリシーのスケジュールを指定し、ポリシーにスケーリング・アクションを作成して割り当てることができます。作成時にポリシーのスケジュールおよびスケーリング・アクションを指定しない場合、次の手順を使用して必要な構成を完了できます。

  2. ポリシーのスケジュールを設定または更新します。

    1. 「WebLogicドメイン」ドロップダウン・メニューから「診断」を選択し、「診断モジュール」を選択します。

    2. 「診断モジュール」表で、編集するポリシーを含む診断システム・モジュールを選択します。

    3. 「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。

    4. 「スケジュール」ページを選択して、ポリシーに対して希望するスケジュール設定を定義します。

    5. 「適用」をクリックします。

  3. スケーリング・アクションを作成、有効化します。Fusion Middleware ControlによるOracle WebLogic Serverの管理のスケール・アップまたはスケール・ダウン・アクションの作成を参照してください。

  4. ポリシーにスケーリング・アクションを割り当てます。

    注意:

    指定のポリシーには1つのスケーリング・アクションしか割り当てることができません。

    1. 「WebLogicドメイン」ドロップダウン・メニューから「診断」を選択し、「診断モジュール」を選択します。

    2. 「診断モジュール」表で、編集するポリシーを含む診断システム・モジュールを選択します。

    3. 「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。

    4. 「アクション」ページを選択します。

    5. 「スケーリング・アクション」セクションで、「アクションのスケール・アップ」「アクションのスケール・ダウン」のいずれかを選択し、リストから希望のスケーリング・アクションを選択します。オプションで、「スケール・アップ・アクションの作成」または「スケール・ダウン・アクションの作成」をクリックして、このポリシーの新規スケーリング・アクションを作成します。

    6. 「適用」をクリックします。

WLSTを使用したカレンダベースのスケーリングの構成

次の例は、特定の日の特定の時刻に動的クラスタをスケーリングするカレンダ・ベースのポリシーを、WLSTを使用して作成および構成する方法を示しています。例6-1では、12月26日3:00 a.m.にスケール・アップ・アクションを実行するカレンダベースのポリシーを構成するコマンドを示します。例6-2では、1月15日午前0時にスケール・ダウン・アクションを実行するカレンダベースのポリシーを構成するコマンドを示します。

例6-1 スケール・アップ・アクションを設定したカレンダベースのポリシー

calendarScaleUp=wn.createWatch('ChristmasReturnsScaleUpWatch')
  calendarScaleUp.setExpressionLanguage('EL')
  calendarScaleUp.getSchedule().setHour('3')
  calendarScaleUp.getSchedule().setMinute('0')
  calendarScaleUp.getSchedule().setSecond('0')
  calendarScaleUp.getSchedule().setDayOfMonth('26')
  calendarScaleUp.getSchedule().setMonth('Dec')
  calendarScaleUp.setEnabled(false)
  calendarScaleUp.addNotification(scaleUp)

例6-2 スケール・ダウン・アクションを設定したカレンダベースのポリシー

calendarScaleDown=wn.createWatch('PostChristmasReturnsScaleDownWatch')
  calendarScaleDown.setExpressionLanguage('EL')
  calendarScaleDown.getSchedule().setHour('0')
  calendarScaleDown.getSchedule().setMinute('0')
  calendarScaleDown.getSchedule().setSecond('0')
  calendarScaleDown.getSchedule().setDayOfMonth('15')
  calendarScaleDown.getSchedule().setMonth('Jan')
  calendarScaleDown.setEnabled(false)
  calendarScaleDown.addNotification(scaleDown)