インテリジェントベースラインは、タスクの定時完了を妨げる例外を検出し、早期に警告を送信することで、複雑な依存関係を持つシナリオにおいても重要なデータがスケジュール通りに生成されることを保証します。これにより、設定コストの削減、不要なアラートの防止、そしてすべてのクリティカルタスクの自動的なモニタリングが可能になります。
ユースケース
-
タスク優先度の管理
リソースが限られている場合、リソースプリエンプションが発生することがあります。重要なタスクを優先度の高いベースラインに追加することで、それらのタスクが優先的にリソースを受け取れるようになります。
-
タスクの推定完了時刻の計算
タスクをベースラインに追加すると、DataWorks はリソースの可用性と祖先タスクのステータスに基づいて、日次または時間単位の推定完了時刻を計算します。
-
コミット完了時刻前のタスク完了の保証
タスクをベースラインに追加し、コミット完了時刻を設定します。システムがタスクの完了がコミット完了時刻に間に合わないと予測した場合、または祖先タスクが失敗または低速化した場合、アラートが送信され、迅速に問題を解決できます。
基本概念
-
ベースライン:コミット完了時刻が設定された重要なタスクの集合です。システムは実行ステータスをモニタリングし、タスクがその期限に間に合わないリスクがある場合にアラートをトリガーします。
-
コミット完了時刻:タスクが正常に完了しなければならない期限であり、その出力データが下流での利用に間に合うことを保証します。運用チームが例外を処理する時間を確保するために、ベースラインに [警告マージン] を設定します。システムは数式
コミット完了時刻 - アラートマージンを用いて、アラートをトリガーするしきい値である アラート時刻 を決定します。 -
ベースラインタスク:ベースラインに追加されたタスクです。
-
ベースラインインスタンス:各タスクの推定完了時刻を計算するために使用される、実行ごとのスナップショットです。ベースラインインスタンスには、正常、警告、違反のいずれかのステータスがあります。
-
正常:
推定完了時刻 < アラート時刻。 -
警告:
アラート時刻 < 推定完了時刻 < コミット完了時刻。 -
違反:
推定完了時刻 > コミット完了時刻。
-
-
キーパス:ベースラインタスクに影響を与えるすべてのパスの中で、実行時間が最も長いパスです。
-
イベント:ベースラインタスクまたはその祖先タスクが失敗した場合、あるいはキーパス上のタスクが低速化した場合に生成されます。イベントは、ベースラインタスクの完了を遅延させる可能性があります。
仕組み
タスクをベースラインに追加すると、DataWorks はベースラインの優先度に基づいてリソースを割り当て、タスクの依存関係からモニタリング範囲を決定します。アラートは、その範囲内にあるタスクの実際の実行ステータスによってトリガーされます。
モニタリング範囲は、ベースラインタスク K に基づいて決定されます。
-
ベースラインタスクの祖先ノード:タスク K の出力に影響を与えるすべてのノードがモニタリング範囲に含まれます:

-
ベースラインタスクの子孫ノード:これらはモニタリング範囲に含まれません:

-
キーパス:タスク K に影響を与えるすべてのパスの中で最も長いパス:

-
ベースラインの作成:
-
ベースラインに追加するタスク K を指定します。
-
ベースラインの優先度とアラートポリシーのパラメーターを設定します。
-
-
モニタリング範囲内のタスクの実際の実行ステータスに基づいて、ベースラインアラートまたはイベントアラートがトリガーされます。
インテリジェントベースラインは、以下の機能を提供します:
-
ベースラインの作成と管理
ベースライン管理 ページでは、ベースラインを作成および管理できます:
-
主要なイベントのサポートに必要なタスクをベースラインに追加し、コミット完了時刻を設定し、アラートポリシー (方法と受信者) を設定します。システムはこれらの設定に基づいてタスクをモニタリングし、アラートを送信します。
-
ベースラインの優先度を設定して、タスクの実行順序を制御します。スケジューリングリソースが限られている場合、優先度の高いベースラインが優先的にリソースを受け取ります。
説明-
この優先度は、以下の 2 つの条件が満たされた場合に MaxCompute コンピューティングタスクの優先度にマッピングされます:
-
MaxCompute プロジェクトで優先度機能が有効になっている。
-
MaxCompute プロジェクトがサブスクリプションのコンピューティングリソースを使用している。
-
-
MaxCompute ジョブの優先度 = 9 - DataWorks ベースラインの優先度。
-
詳細については、「ベースラインの管理」をご参照ください。
-
-
モニタリング範囲の決定
DataWorks はタスクの依存関係に基づいてモニタリング範囲を決定し、ベースラインのデータ出力に影響を与える可能性のあるすべてのタスクをモニタリングします。詳細については、「コアロジック:モニタリング範囲」をご参照ください。
-
アラートのトリガーと送信
-
ベースラインアラート
DataWorks は、設定されたアラートポリシーと実際のタスク実行ステータスに基づいてアラートを自動的にトリガーし、指定された受信者にアラートメッセージをリアルタイムで送信します。システムがベースラインタスクがコミット完了時刻までに完了できないと予測した場合、ベースラインアラートが送信されます。詳細については、「コアロジック:ベースラインアラート」をご参照ください。
-
イベントアラート
モニタリング範囲が決定されると、ベースラインタスクまたはその上流タスクが失敗した場合、あるいはキーパス上のタスクが低速化した場合、システムはイベントを生成してアラートを送信します。イベントは DataWorks の インシデント管理 ページで確認できます。詳細については、「イベント管理」をご参照ください。
-
課金
-
ベースラインインスタンス数: 有効化されているすべてのベースラインは、ベースラインインスタンスを生成します。DataWorks は、毎日 23:59 までに生成されたインスタンスに基づいて課金します。詳細については、「インテリジェントベースラインインスタンスの課金」をご参照ください。
-
アラートのテキストメッセージと電話の数: ベースラインアラートでは、テキストメッセージと電話の料金が発生します。詳細については、「アラートのテキストメッセージと電話の課金」をご参照ください。
制限事項
DataWorks Standard Edition 以降のエディションのみがインテリジェントベースラインをサポートしています。以前のエディションをご利用の場合はアップグレードしてください。詳細については、「DataWorks の各エディションの機能」をご参照ください。
コアロジック:モニタリング範囲
インテリジェントベースラインは、データ出力に影響を与える上流タスクをモニタリング対象とし、すべての上流タスクと下流タスクを対象とするわけではありません。モニタリング範囲は次のとおりです:
-
上流タスク:ベースラインタスクのデータ出力に影響を与えるタスクがモニタリングされます。
-
下流タスク:モニタリングされません。ベースラインタスクの下流タスクや、別の祖先ブランチ上のタスクが失敗しても、アラートはトリガーされません。
上の図に示すように、6 つのタスクノードがあると仮定します。タスク D と E はベースラインタスクです。タスク A と B はそれらのデータ出力に影響を与えるため、A、B、D、E はすべてモニタリングされます。これらのタスクのいずれかが失敗または低速化した場合、インテリジェントベースラインがそれを検出します。タスク C と F はモニタリング範囲外です。
コアロジック:ベースラインアラート
重要なタスクをベースラインに追加し、[確約時間] と [警告マージン] を設定できます。その後、以下のようになります:
-
DataWorks は、数式
コミット完了時刻 - アラートマージンを用いて [警告時間] を計算します。次に、モニタリング範囲内のタスクの過去の平均実行時間に基づいて、DataWorks は [ベースライン インスタンス] を使用し、範囲内の各タスクの最新の完了時刻と開始時刻を導出します。 -
実行中に、タスクのステータスから、ベースラインタスクが [警告時間] までに完了しないと予測された場合、DataWorks はベースラインアラートをトリガーします。
コアロジック:イベントアラート
モニタリング対象のタスクが異常になると、システムはイベントを生成し、アラートをトリガーします。異常な状態には以下が含まれます:
-
[エラー]: タスクの実行が失敗します。
-
[低速化]: タスクの現在の実行時間が、過去の平均を大幅に超えています。
-
低速イベントは、タスクの実行時間が 30 分を超え、かつ過去の平均よりも 15 分以上長い場合にトリガーされます。
-
同じタスクが最初に低速化し、その後失敗した場合、2 つのイベントが生成されます。
イベントの詳細については、「イベント管理」をご参照ください。
コアロジック:キーパスとキーインスタンス
ベースライン上のタスクの依存関係は複雑になることがあります。DataWorks は、データ出力をブロックしているキーパスとキーインスタンスを特定するのに役立つガントチャートを提供します。キーパスは、ベースラインタスクの出力に影響を与えるすべてのパスの中で、最も実行時間が長いパスです。
例
-
シナリオ: 現在時刻は 6:40 で、タスク F はまだ実行中です。
-
ベースライン警告:
YYYY-MM-DD HH:mm:ss
Baseline XX warning, business time XX, margin: -10 min...
-
イベントアラート:
YYYY-MM-DD HH:mm:ss
Event reminder, business time XX, task XX, status: Delayed...
ガントチャートは、ターゲットタスクの主要な実行パスを示します。上記の例のキーパスと例外検出時刻は次のとおりです: 