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

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

システム通知を構成する

注:

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

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

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

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

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

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

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

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

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

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

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

重要

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

Eメール通知を構成する

注:

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

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

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

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

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

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

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

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

Eメール notifications を使用して、 Amazon SES や SNS などのツールと統合できます。

しきい値を超えたときの通知を構成する

ジョブまたは タスク(duration や streaming backlog メトリクスなど)に しきい値 を設定している場合、ジョブまたはタスクが設定されたしきい値を超えた場合に Eメール またはシステム通知を追加できます。期間のしきい値を超えたジョブまたはタスクの通知を受け取るには、通知を追加または編集するときに [期間の警告 ] のチェックボックスをオンにします。 ストリーミング バックログ メトリクスを超えるジョブまたはタスクの通知を受け取るには、通知を追加または編集するときに [ストリーミング バックログ ] のチェックボックスをクリックします。

ストリーミング バックログのメトリクスには、次の点が適用されます。

  • 通知は、10 分間の平均バックログが定義されたしきい値を超えたときに送信されます。

  • 過剰なメッセージを防ぐために、Databricks は 30 分間待ってから、別のメッセージを送信するかどうかを決定します。 バックログは高いままですが、30 分間隔で更新を受け取ります。

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

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

注:

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

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

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