ジョブイベントの Eメールとシステム通知を追加する

ジョブの実行とそのジョブの一部であるタスクをモニターするには、実行の開始、正常終了、失敗、または実行時間が構成されたしきい値を超えたときに通知を構成します。 通知は、1 つ以上の Eメール アドレス、または Slack、Microsoft Teams、PagerDuty、または Webhook ベースのサービスなどのシステムの宛先に送信できます。

システム通知 を構成する

  • ジョブまたはタスクごとに、通知イベント タイプごとに最大 3 つのシステム宛先を構成できます。

  • 管理者は、システムの宛先を設定する必要があります。 システムの宛先は、[ システム通知の編集 ] ダイアログまたは 管理者設定ページで [ 新しい宛先の作成 ] を選択して構成します。

  • ジョブ・レベルで設定した通知は、失敗したタスクが再試行されても送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後に失敗通知を受け取るには、代わりにタスク通知を使用します。 タスク実行のシステム通知を追加するには、ジョブタスクを追加または編集するときに、タスクパネルの [通知] の横にある [+ 追加] をクリックします。

  • Succeeded with failures状態で完了したジョブは、成功状態と見なされます。この状態で完了するジョブのアラートを受信するには、通知を構成するときに [成功] を選択する必要があります。

システム通知は、次のような一般的な通知ツールと統合されています。

このジョブの実行にジョブの開始、完了、失敗などの通知可能なイベントがある場合に 1 つ以上のシステム通知を追加するには、次のようにします。

  1. ジョブ の [ジョブの詳細 ] パネルで、[ 通知の編集] をクリックします。

  2. [ 通知の追加] をクリックし、[宛先] でシステムの 宛先を選択します。

  3. システムの宛先を選択」で、宛先を選択し、その宛先に送信する各通知タイプのチェックボックスをクリックします。

  4. 別の宛先を追加するには、もう一度 [ 通知を追加 ] をクリックします。

  5. [確認]をクリックします。

重要

Slack および Microsoft Teams メッセージの内容は、今後のリリースで変更される可能性があります。 これらのメッセージの特定の内容や形式に依存するクライアントや処理を実装しないでください。 通知に特定のスキーマまたは形式が必要な場合は、ユーザー定義の Webhook を構成することをお勧めします Databricks 。

Eメール 通知 を構成する

  • ジョブ・レベルで設定した通知は、失敗したタスクが再試行されても送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後に失敗通知を受け取るには、代わりにタスク通知を使用します。 タスク実行の電子メール通知を追加するには、ジョブタスクを追加または編集するときに、タスクパネルの通知の横にある[+追加]をクリックします。

  • Succeeded with failures状態で完了したジョブは、成功状態と見なされます。この状態で完了するジョブのアラートを受信するには、通知を構成するときに [成功] を選択する必要があります。

このジョブの実行が開始、完了、または失敗したときに通知する 1 つ以上の Eメール アドレスを追加するには:

  1. ジョブ の [ジョブの詳細 ] パネルで、[ 通知の編集] をクリックします。

  2. [通知の追加] をクリックし 、[宛先] で [Eメール アドレス] を選択します。

  3. Eメールのアドレスを入力し、各通知タイプのチェックボックスをクリックして、そのアドレスに送信します。

  4. 通知用に別の Eメール アドレスを入力するには、もう一度 [ 通知の追加 ] をクリックします。

  5. [確認]をクリックします。

Eメール通知を使用して、 Amazon SESやSNSなどのツールと連携できます。

実行速度の遅いジョブや遅延したジョブ の通知を構成する

ジョブ の予想期間を設定した場合、ジョブが設定された期間を超えた場合に、電子メールまたはシステム通知を追加できます。 期間のしきい値を超えたジョブの通知を受け取るには、通知を追加または編集するときに「 期間の警告 」のチェックボックスをクリックします。

スキップまたはキャンセルされた実行 の通知を除外する

実行がスキップまたはキャンセルされたときに通知を除外することで、送信される通知の数を減らすことができます。 通知をフィルタリングするには、 Eemail 通知または システム 通知を追加または変更するときに、[スキップされた実行の通知をミュートする]または[ キャンセルされた実行の通知をミュート する]をオンにします。

ジョブの [ スキップされた実行の通知をミュート する] または [ キャンセルされた実行の通知をミュートする ] を選択しても、ジョブ タスク用に構成された通知は除外されません。 スキップまたはキャンセルされた実行のすべての通知をフィルタリングするには、構成したタスクレベルの通知も除外する必要があります。

HTTP Webhook ペイロード

HTTP Webhook を使用して通知を送信する場合、Databricks から構成済みのエンドポイントに送信されるペイロードの例を次に示します。

ジョブ実行開始イベントの通知:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

タスク実行開始イベントの通知:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

宛先を設定する場合、Webhook は次のイベントタイプに対して設定できます。

イベントコード

いつ送信されますか?

jobs.on_start

実行が開始されます。

jobs.on_success

実行は停止し、成功状態または失敗あり成功状態で完了します。

jobs.on_failure

実行が失敗状態で停止します。

jobs.on_duration_warning_threshold_exceeded

実行は、構成された予想期間を超えて実行されています。