针对作业事件添加电子邮件和系统通知
通过配置运行启动、成功完成、失败或其持续时间超过配置的阈值时的通知,可以监视作业的运行和属于该作业的任务。 通知可以发送到一个或多个电子邮件地址或系统目标,例如 Slack、Microsoft Teams、PagerDuty 或任何基于 Webhook 的服务。
配置系统通知
注意
- 对于每个作业或任务,最多可以为每种通知事件类型配置 3 个系统目标。
- 管理员必须配置系统目标。 通过在“编辑系统通知”对话框或管理员设置页中选择“创建新目标”来配置系统目标。
- 重试失败的任务时,不会发送在作业级别设置的通知。 要在每次失败的任务(包括每次失败的重试)后接收失败通知,请改用任务通知。 要为任务运行添加系统通知,请在添加或编辑作业任务时,在任务面板中单击“通知”旁边的“+ 添加”。
- 在
Succeeded with failures
状态下完成的作业被视为处于成功状态。 若要接收处于此状态的作业的警报,必须在配置通知时选择“成功”。
系统通知与常用通知工具集成,包括:
- Slack
- PagerDuty
- Microsoft Teams
- HTTP Webhook
若要在此作业的运行出现可通知的事件(例如作业启动、完成或失败)时添加一个或多个系统通知:
- 在作业的“作业详细信息”面板中,单击“编辑通知”。
- 单击“添加通知”,然后在“目标”中选择系统目标。
- 在“选择系统目标”中选择一个目标,然后单击要发送到该目标的每种通知类型所对应的复选框。
- 若要添加其他目标,请再次单击“添加通知”。
- 单击“确认” 。
重要
Slack 和 Microsoft Teams 消息的内容可能会在将来的版本中更改。 不应实现依赖于这些消息的特定内容或格式的客户端或处理。 如果需要通知的特定架构或格式,Azure Databricks 建议配置用户定义的 Webhook。
配置电子邮件通知
注意
- 重试失败的任务时,不会发送在作业级别设置的通知。 要在每次失败的任务(包括每次失败的重试)后接收失败通知,请改用任务通知。 要为任务运行添加电子邮件通知,请在添加或编辑作业任务时,在任务面板中单击“通知”旁边的“+ 添加”。
- 在
Succeeded with failures
状态下完成的作业被视为处于成功状态。 若要接收处于此状态的作业的警报,必须在配置通知时选择“成功”。
若要添加一个或多个电子邮件地址以在此作业的运行开始、完成或失败时接收通知,请执行以下操作:
- 在作业的“作业详细信息”面板中,单击“编辑通知”。
- 单击“添加通知”并在“目标”中选择“电子邮件地址”。
- 输入电子邮件地址,然后单击要发送到该地址的每个通知类型的复选框。
- 若要输入另一个电子邮件地址来接收通知,请再次单击“添加通知”。
- 单击“确认” 。
可以使用电子邮件通知与 Amazon SES 和 SNS 等工具集成。
为运行缓慢或延迟的作业配置通知
如果为作业配置了预期的工期,则可以添加作业超出配置的持续时间时的电子邮件或系统通知。 若要接收超出持续时间阈值的作业的通知,请在添加或编辑通知时单击“持续时间警告”复选框。
过滤掉已跳过或取消的运行的通知
可以通过筛选掉跳过或取消运行时发送的通知来减少发送的通知数。 若要筛选通知,请在添加或修改电子邮件通知或系统通知时勾选“静音已跳过的运行的通知”或“静音已取消的运行的通知”。
注意
为作业选择“静音已跳过的运行的通知”或“静音已取消的运行的通知”不会过滤掉为作业任务配置的通知。 若要筛选已跳过或取消的运行的所有通知,还必须过滤掉所有已配置的任务级通知。
HTTP Webhook 有效负载
如果使用 HTTP Webhook 发送通知,下面是 Azure 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 |
运行的运行时间已超过配置的预期持续时间。 |