プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server動的クラスタの拡張度の構成
12c (12.2.1)
E70079-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、WebLogic Server 12.2.1におけるカレンダ・ベースのスケーリングについて説明し、カレンダ・スケジュールに基づいてクラスタをスケール・アップおよびダウンする例を提供します。

この章の内容は次のとおりです。

カレンダ・ベースのスケーリングとは

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

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

  • カレンダ・ベース

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

  • 収集対象メトリック

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

カレンダ・ベースのスケーリングを構成するには、ポリシーを作成し、ポリシーのスケジュールを定義し、そのポリシーにスケーリング・アクションを作成し、割り当てます。ポリシー・スケジュールは、次に基づいて実行するように設定できます。

  • 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. 増分。最初の値と間隔に基づいて属性を制約するには、スラッシュ(/)を使用します。増分の使用は、secondminuteおよびhour属性を指定する場合のみサポートされます。例:

    • minute ="*/5"は5分ごとを表し、minute ="0,5,10,15,20,25,30,35,40,45,50,55"と同等

    • second = "30/10"は、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を使用して、カレンダ・ベースのスケーリングを構成できます(次の各項を参照)。


注意:

カレンダ・ベースのスケーリングを実行する前に、動的クラスタを作成して、前提条件となる他のタスクを完了したことを確認します。第3章「拡張度を構成するための要件」を参照してください。

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を使用したカレンダ・ベースのスケーリングの構成

次の例は、特定の日の特定の時刻に動的クラスタをスケール・アップまたはスケール・ダウンするカレンダ・ベースのポリシーを、作成および構成する方法を示しています。例6-1はスケール・アップ・アクションを実行するカレンダ・ベース・ポリシーを示し、例6-2はカレンダがスケール・ダウン・アクションを実行するカレンダ・ベース・ポリシーを示しています。

例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)