Přidejte oznámení na úlohu

Můžete nastavit oznámení, která se mají odesílat při spuštění úlohy a jednotlivých úlohách pro následující události:

  • Začni
  • Úspěšné dokončení
  • Selhání
  • Doba trvání překračuje nakonfigurovanou prahovou hodnotu.
  • Metrika backlogu streamování překračuje nakonfigurovanou prahovou hodnotu.

Oznámení můžete posílat na jednu nebo více e-mailových adres nebo cílů třetích stran, jako jsou Slack, Microsoft Teams, PagerDuty nebo jakákoli služba založená na webhooku. Tento článek popisuje různé způsoby nastavení oznámení na úrovni úlohy.

Přidejte cíle systému třetích stran

Oznámení můžete nastavit tak, aby se doručila do systémů třetích stran. Cíle systému třetích stran se integrují s oblíbenými nástroji pro oznámení, jako jsou Slack, PagerDuty, Microsoft Teams a HTTP webhooky. Správce musí nakonfigurovat systémové cíle.

Chcete-li konfigurovat cíle systému, přejděte na stránku nastavení správce, klepněte na tlačítko Upravit systémová oznámení a potom klepněte na tlačítko Vytvořit nový cíl. Pro každou úlohu nebo úkol můžete pro každý typ případu oznámení nakonfigurovat maximálně tři cílové systémy. Podívejte se na stránku nastavení správce .

Důležité

Obsah zpráv Slack a Microsoft Teams se může v budoucích verzích změnit. Neměli byste implementovat klienty ani zpracování, které závisí na konkrétním obsahu nebo formátování těchto zpráv. Pokud potřebujete konkrétní schéma nebo formátování pro oznámení, Databricks doporučuje nakonfigurovat webhook definovaný uživatelem.

Konfigurace oznámení pro úlohu

Než začnete, zvažte následující:

  • Oznámení na úrovni úlohy se neodesílají při opakování neúspěšných úkolů. Pokud chcete dostávat oznámení o selhání po každém neúspěšném úkolu, použijte místo toho oznámení o úkolu. Chcete-li přidat oznámení pro spuštění úloh, klepněte na tlačítko Přidat vedle oznámení v podokně úloh při přidání nebo úpravě úlohy.
  • Pro každou úlohu nebo úkol můžete pro každý typ případu oznámení nakonfigurovat maximálně tři cílové systémy.
  • Úloha, která byla dokončena ve stavu Úspěch s chybami, je považována za úspěšnou. Chcete-li být upozorněni na dokončení úloh v tomto stavu, musíte při konfiguraci oznámení vybrat úspěch.
  • Pokud chcete být upozorněni, když vaše úloha překročí limit doby trvání, musíte nastavit limit. Viz Konfigurace oznámení pro pomalé úlohy.

Chcete-li u úlohy přidat nebo upravit upozornění, musíte mít u úlohy oprávnění „MŮŽE SPRAVOVAT“ nebo „JE VLASTNÍK“. Vizte řízení přístupu k úloze.

Pokud chcete přidat jedno nebo více oznámení při zahájení, dokončení nebo selhání spuštění úlohy, postupujte takto:

  1. V podokně Podrobnosti úlohy pro úlohu se posuňte dolů do části Oznámení o úloze a potom klikněte na tlačítko Upravit oznámení.
  2. V levém dolním rohu klikněte na Přidat oznámení.
  3. V Cílvyberte e-mailovou adresu nebo cíl systému.
  4. Zaškrtněte políčka u každého typu události, na kterou chcete být upozorněni: spuštění, úspěch, selhání, upozornění na trvánínebo streamování backlogu.
  5. Chcete-li nakonfigurovat další cíl, klikněte na Přidat oznámení znovu a postupujte podle předchozích kroků.
  6. Po nakonfigurování všech oznámení klikněte na Uložit.

Pokud chcete oznámení odebrat, klikněte na Upravit oznámení, klikněte na ikonu Koše. Vedle oznámení a potom klikněte na Uložit.

Konfigurace oznámení pro pomalé úlohy

Pokud jste nakonfigurovali očekávanou dobu trváníúlohy, můžete přidat e-mail nebo systémové oznámení, pokud úloha nebo úkol překročí nakonfigurovanou prahovou hodnotu. Pokud chcete obdržet oznámení pro úlohu nebo úkol, který překračuje prahovou hodnotu doby trvání, vyberte Upozornění na dobu trvání, když přidáte nebo upravíte oznámení. Chcete-li dostávat oznámení pro práci nebo úkol, který překračuje metriku streamovacího backlogu, vyberte streamovací backlog při přidání nebo úpravě oznámení.

Následující informace platí pro metriky backlogu streamování:

  • Oznámení se posílají, když průměrný backlog za 10 minut překročí definovanou prahovou hodnotu.
  • Chcete-li zabránit nadměrnému množství zpráv, Azure Databricks čeká 30 minut, než určí, zda se má odeslat jiná zpráva. I když backlog zůstává vysoký, budete dostávat aktualizace v 30minutových intervalech.

Poznámka:

Oznámení backlogu streamování vyžadují, aby služba Úlohy sledovala aktivní dotaz streamování. Nepoužívejte awaitTermination() v úlohách. Viz Kdy použít awaitTermination().

Odstraňte oznámení o přeskočených nebo zrušených bězích

Počet zasílaných oznámení můžete snížit odfiltrováním oznámení, pokud je spuštění přeskočeno nebo zrušeno. Pokud chcete filtrovat oznámení, vyberte Ztlumit oznámení pro vynechané spuštění nebo Ztlumit oznámení pro zrušené spuštění při přidávání nebo úpravách e-mailových oznámení nebo systémových oznámení.

Ve výchozím nastavení se úkoly opakovaně zkouší třikrát, než dojde k úplnému selhání. Při nastavování oznámení úkolů můžete vybrat Ztišit oznámení až do posledního pokusu, abyste ztlumili všechna oznámení až do finálního pokusu.

Poznámka:

Když vyberete Ztlumit oznámení pro přeskočená spuštění nebo Ztlumit oznámení pro zrušená spuštění pro úlohu, nevyfiltruje oznámení nakonfigurovaná pro úlohy úloh. Pokud chcete filtrovat všechna upozornění pro přeskočená nebo zrušená spuštění, musíte také vyfiltrovat všechna upozornění na úrovni úkolů, která jste nakonfigurovali.

Datové části webhooku HTTP

Webhooky HTTP můžete nakonfigurovat tak, aby se odesílaly na události uvedené v následující tabulce.

kód typu události Kdy se odešle?
jobs.on_start Odesláno při spuštění.
jobs.on_success Když se spuštění zastaví a dokončí ve stavu úspěšně, i když s chybami, zpráva je odeslána.
jobs.on_failure Odesláno, když se spuštění zastaví v neúspěšném stavu.
jobs.on_duration_warning_threshold_exceeded Odesláno, když spuštění překročí nakonfigurovanou prahovou hodnotu doby trvání.

Následuje příklad datových částí odesílaných Azure Databricks do nakonfigurovaného koncového bodu. Tyto webhooky lze použít u úloh nebo úkolů.

Oznámení o události zahájení úlohy:

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

Oznámení o události spuštění úlohy:

{
  "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"
  }
}

Oznámení o selhání spuštění úlohy:

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

Oznámení o úspěšném spuštění úlohy:

{
  "event_type": "jobs.on_success",
  "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"
  }
}