Oracle® Fusion Middleware Oracle WebLogic Server動的クラスタの拡張度の構成 12c (12.2.1) E70079-01 |
|
前 |
次 |
この章では、WebLogic Server 12.2.1におけるカレンダ・ベースのスケーリングについて説明し、カレンダ・スケジュールに基づいてクラスタをスケール・アップおよびダウンする例を提供します。
この章の内容は次のとおりです。
WLDFは、特定の時刻、一定期間経過後、または指定間隔で、カレンダ・スケジュールに応じて起動されるポリシーのアクションをサポートするようになりました。カレンダ・ベースのスケーリングでは、定義されたスケジュールに基づいてスケーリング・アクションを実行します。
カレンダ・ベースのルール・スケジュールは、式言語としてJava式言語(EL)を利用するハーベスタ
・ルールでのみサポートされます。次のポリシー・タイプが、カレンダ・ベースのルール・スケジュールをサポートしています。
カレンダ・ベース
スマート・ルール・ベース
収集対象メトリック
カレンダ・ベースのスケーリングを構成するには、ポリシーを作成し、ポリシーのスケジュールを定義し、そのポリシーにスケーリング・アクションを作成し、割り当てます。ポリシー・スケジュールは、次に基づいて実行するように設定できます。
N秒ごと
N分ごと
N時間ごと
特定の曜日(の特定の時刻)
月内の特定の日(の特定の時刻)
ポリシー・スケジュールは、WLDFScheduleBean
に基づきます。表6-1に、ポリシー・スケジュールを設定するために使用する属性をリストします。
表6-1 WLDFScheduleBean属性
属性 | デフォルト値 | 使用可能な値 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
* (毎月) |
|
|
|
|
|
n/a |
|
|
|
|
これらの属性は、次の構文を使用して、いくつかの方法で指定できます。この構文は、EJB ScheduleExpression
クラスによってサポートされます。このサポートされている構文の詳細は、ScheduleExpression
のドキュメントを参照してください。
単一の値。例:
second = "10" month = "Oct"
属性の可能値すべてを表すワイルドカード(*)を使用します。たとえば、すべての曜日を指定するには次のようにします。
dayOfWeek = "*"
範囲指定。値を含む範囲に属性を限定します。範囲の両端はダッシュで区切ります。例:
second = "1-10" dayOfWeek = "Mon-Fri"
増分。最初の値と間隔に基づいて属性を制約するには、スラッシュ(/)を使用します。増分の使用は、second
、minute
および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"
と同等
注意: 属性の最大値に達すると、増分は停止します(可能な最大の値を上回りません)。 |
リスト。カンマ区切りのリストを使用して、属性を、複数の可能な値または範囲に制約します。各リスト項目は、値または範囲である必要があり、ワイルドカード、リストまたは増分であることはできません。例:
second = "10,20,30" dayOfWeek = "Mon,Wed,Fri" minute = "0-10,30,40"
WebLogic Server管理コンソール、Fusion Middleware ControlまたはWLSTを使用して、カレンダ・ベースのスケーリングを構成できます(次の各項を参照)。
WebLogic Server管理コンソールを使用してカレンダ・ベースのスケーリングを構成する手順:
カレンダ・ベースのルールをサポートするポリシーを作成、有効化します。 Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。
注意: WebLogic Server管理コンソールでのポリシーソールでの作成時に、ポリシーのスケジュールを指定し、ポリシーにスケーリング・アクションを作成して割り当てることができます。作成時にポリシーのスケジュールおよびスケーリング・アクションを指定しない場合、次の手順を使用して必要な構成を完了できます。 |
ポリシーのスケジュールを設定または更新します。
管理コンソールの左側のペインで「診断」を展開して、「診断モジュール」を選択します。
構成するポリシーを含む診断モジュールを選択します。
「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。
「スケジュール」ページを選択して、ポリシーに対して希望するスケジュール設定を定義します。
「保存」をクリックします。
スケーリング・アクションを作成、有効化します。 Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。
ポリシーにスケーリング・アクションを割り当てます。
注意: 指定のポリシーには1つのスケーリング・アクションしか割り当てることができません。 |
管理コンソールの左側のペインで「診断」を展開して、「診断モジュール」を選択します。
構成するポリシーを含む診断システム・モジュールを選択します。
「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。
「アクション」ページを選択します。
「スケーリング・アクション」セクションで、「アクションのスケール・アップ」と「アクションのスケール・ダウン」のいずれかを選択し、このポリシーに割り当てるスケール・アップまたはスケール・ダウン・アクションを選択します。あるいは、「新規スケール・アップ・アクション」または「新規スケール・ダウン・アクション」をクリックして、このポリシーの新規スケーリング・アクションを作成します。
「保存」をクリックします。
Fusion Middleware Controlを使用してカレンダ・ベースのスケーリングを構成する手順:
カレンダ・ベースのルールをサポートするポリシーを作成、有効化します。『Fusion Middleware ControlによるOracle WebLogic Serverの管理』で新しいポリシーの作成に関する項を参照してください。
注意: Fusion Middleware Controlでのポリシーソールでの作成時に、ポリシーのスケジュールを指定し、ポリシーにスケーリング・アクションを作成して割り当てることができます。作成時にポリシーのスケジュールおよびスケーリング・アクションを指定しない場合、次の手順を使用して必要な構成を完了できます。 |
ポリシーのスケジュールを設定または更新します。
「WebLogicドメイン」ドロップダウン・メニューから「診断」を選択し、「診断モジュール」を選択します。
「診断モジュール」表で、編集するポリシーを含む診断システム・モジュールを選択します。
「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。
「スケジュール」ページを選択して、ポリシーに対して希望するスケジュール設定を定義します。
「適用」をクリックします。
スケーリング・アクションを作成、有効化します。『Fusion Middleware ControlによるOracle WebLogic Serverの管理』でスケール・アップまたはスケール・ダウン・アクションの作成に関する項を参照してください。
ポリシーにスケーリング・アクションを割り当てます。
注意: 指定のポリシーには1つのスケーリング・アクションしか割り当てることができません。 |
「WebLogicドメイン」ドロップダウン・メニューから「診断」を選択し、「診断モジュール」を選択します。
「診断モジュール」表で、編集するポリシーを含む診断システム・モジュールを選択します。
「構成」→「ポリシーとアクション」→「ポリシー」を選択して、構成するポリシーの名前をクリックします。
「アクション」ページを選択します。
「スケーリング・アクション」セクションで、「アクションのスケール・アップ」と「アクションのスケール・ダウン」のいずれかを選択し、リストから希望のスケーリング・アクションを選択します。オプションで、「スケール・アップ・アクションの作成」または「スケール・ダウン・アクションの作成」をクリックして、このポリシーの新規スケーリング・アクションを作成します。
「適用」をクリックします。
次の例は、特定の日の特定の時刻に動的クラスタをスケール・アップまたはスケール・ダウンするカレンダ・ベースのポリシーを、作成および構成する方法を示しています。例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)