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

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

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

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