Добавление уведомлений в задание

Вы можете настроить уведомления для отправки при выполнении задания и отдельных задач задания для следующих событий:

  • Начало
  • Успешное завершение
  • Неудача
  • Длительность превышает настроенное пороговое значение
  • Метрика отставания потоковой передачи превышает заданный порог

Вы можете отправлять уведомления на один или несколько адресов электронной почты или сторонние платформы, такие как Slack, Microsoft Teams, PagerDuty или любая служба на основе вебхука. В этой статье описаны различные способы настройки уведомлений на уровне задания.

Добавьте пункты назначения сторонних систем

Вы можете настроить уведомления для доставки в сторонние системы. Сторонние системы назначения интегрируются с популярными средствами уведомлений, включая Slack, PagerDuty, Microsoft Teams и HTTP webhooks. Системные назначения должен настраивать администратор.

Чтобы настроить системные пункты назначения, перейдите в настройки администратора, нажмите Изменить системные уведомления, а затем нажмите Создать новое назначение. Для каждого задания или задачи можно настроить не более трех системных назначений для каждого типа события уведомления. См. страницу параметров администратора.

Внимание

Содержимое сообщений Slack и Microsoft Teams может измениться в будущих выпусках. Не следует реализовывать клиенты или обработку, зависящие от определенного содержимого или форматирования этих сообщений. Если вам требуется определенная схема или форматирование уведомлений, Databricks рекомендует настроить настраиваемый пользователем веб-перехватчик.

Настройка уведомлений в задании

Прежде чем начать, рассмотрите следующее:

  • Уведомления на уровне задания не отправляются при повторной попытке выполнения неудачных задач. Чтобы получить уведомление об ошибке после каждой неудачной задачи, используйте вместо этого уведомления о задачах. Чтобы добавить уведомления для выполнения задач, нажмите кнопку "Добавить рядом с уведомлениями " в области задач при добавлении или изменении задачи задания.
  • Для каждого задания или задачи можно настроить не более трех системных назначений для каждого типа события уведомления.
  • Задание, которое было завершено в состоянии Успешно с незавершёнными этапами, считается успешным. Чтобы получать уведомления о завершении заданий в этом состоянии, необходимо выбрать "Успешно" при настройке уведомлений.
  • Чтобы получать уведомления о превышении предельной продолжительности задания, необходимо задать ограничение. См. раздел Настройка уведомлений для медленных заданий.

Чтобы добавить или изменить уведомления в задании, вам потребуется разрешение CAN MANAGE или IS OWNER для задания. См. раздел "Управление доступом к заданию".

Чтобы добавить одно или несколько уведомлений при запуске задания, его завершении или сбое, сделайте следующее:

  1. В области сведений о задании прокрутите вниз до раздела уведомлений о задании и нажмите кнопку "Изменить уведомления".
  2. В левом нижнем углу щелкните Добавить уведомление.
  3. В пункте назначениявыберите адрес электронной почты или системное назначение.
  4. Установите флажки для каждого типа события, о которых вы хотите получать уведомления: начало, успех, неудача, предупреждение о длительностиили задержка потокового воспроизведения.
  5. Чтобы настроить другое назначение, нажмите кнопку Добавить уведомление еще раз и повторите предыдущие шаги.
  6. После настройки всех уведомлений нажмите на кнопку Сохранить.

Чтобы удалить уведомление, нажмите кнопку "Изменить уведомления", щелкните значок корзины . Рядом с уведомлением и нажмите кнопку "Сохранить".

Настройка уведомлений для медленных заданий

Если вы настроили ожидаемую длительность задания, можно добавить уведомление электронной почты или системы, если задание или задача превышает настроенное пороговое значение. Чтобы получить уведомление о задании или задаче, превышающей пороговое значение длительности, выберите предупреждение о длительности при добавлении или изменении уведомления. Чтобы получить уведомление о задании или задаче, которая превышает метрику отставания в потоковой передаче, выберите невыполненная работа потоковой передачи при добавлении или изменении уведомления.

Следующее относится к метрикам очереди потоковой передачи.

  • Уведомления отправляются, когда средняя невыполненная работа в течение 10-минутного периода превышает определенное пороговое значение.
  • Чтобы предотвратить чрезмерные сообщения, Azure Databricks ожидает 30 минут, прежде чем определить, следует ли отправлять другое сообщение. Хотя невыполненная работа остается высокой, вы будете получать обновления с интервалом в 30 минут.
  • Уведомления о накоплении необработанных данных в потоковой обработке не поддерживаются для задач конвейера. См. оповещения об отставании потоковой передачи и задачи конвейера.

Примечание.

Для уведомлений о задержке в потоковой передаче требуется, чтобы служба задач могла отслеживать активный потоковый запрос. Не используйте awaitTermination() в заданиях. См. раздел "Когда следует использовать awaitTermination()".

Отфильтровать уведомления о пропущенных или отмененных запусках

Вы можете уменьшить количество отправляемых оповещений, отключив уведомления о пропущенных или отмененных выполнениях. Чтобы отфильтровать уведомления, выберите Отключить уведомления для пропущенных запусков или Отключить уведомления для отмененных запусков при добавлении или изменении уведомлений электронной почты или системных уведомлений.

По умолчанию задачи выполняются три раза до полного сбоя. При настройке уведомлений о задачах можно выбрать отключить уведомления до последней попытки, чтобы исключить все уведомления до финальной попытки.

Примечание.

При выборе Отключить уведомления для пропущенных запусков или Отключить уведомления для отмененных запусков для задания, это не отфильтровывает уведомления, настроенные для задач в задании. Чтобы отфильтровать все уведомления для пропущенных или отмененных запусков, необходимо также отфильтровать все настроенные уведомления на уровне задач.

Полезные данные веб-перехватчика HTTP

Веб-перехватчики HTTP можно настроить для отправки при наступлении событий, перечисленных в следующей таблице.

код типа события Когда она отправляется?
jobs.on_start Отправляется при запуске.
jobs.on_success Отправляется, когда выполнение останавливается и завершается в состоянии полностью успешного или частично успешного с ошибками.
jobs.on_failure Отправляется при остановке выполнения в неудачном состоянии.
jobs.on_duration_warning_threshold_exceeded Отправляется при превышении заданного порогового значения длительности.

Ниже приведены примеры пейлоадов, отправленных Azure Databricks в ваш настроенный endpoint. Эти вебхуки можно применять к заданиям или задачам.

** Уведомление о событии запуска выполнения задания:

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

Уведомление о сбое выполнения задания:

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

Уведомление об успешном выполнении задачи:

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