Azure Databricks notebook运行失败时如何发送带详细错误的邮件告警
Azure Databricks 调度告警邮件补全错误详情配置方案
默认情况下Azure Databricks自带的作业失败邮件告警仅展示基础失败提示,可通过以下两种方式配置实现告警包含完整错误信息:
方案1:启用作业通知的错误详情开关(优先选择)
- 进入目标调度作业的编辑界面,找到「通知」配置板块
- 选中已配置的失败触发邮件通知,点击编辑
- 在通知的高级设置中,勾选包含作业运行错误详情选项,保存作业配置即可
- 配置生效后,后续失败告警会自动附带notebook错误堆栈、报错行号、执行上下文等完整信息
注意:Databricks Runtime 11.3 LTS及以上版本默认提供该配置项,低版本需先升级运行时版本
方案2:Notebook侧自定义错误返回逻辑
如果需要自定义错误展示内容,可以在Notebook代码中增加异常捕获逻辑,主动返回错误详情:
- 使用
try-except块包裹核心业务代码,捕获异常后将完整错误信息通过dbutils.notebook.exit()返回,示例代码如下:
import traceback try: # 替换为你的业务执行代码 your_business_logic() except Exception as err: error_msg = f"任务执行失败\n错误信息:{str(err)}\n完整堆栈:\n{traceback.format_exc()}" dbutils.notebook.exit(error_msg)
- 该方式返回的错误内容会被自动带入到自带的告警邮件中,支持自定义拼接任意需要的上下文信息(如运行参数、处理的数据量、执行进度等)
配置验证
修改完成后可手动触发一次故障测试,故意写入错误代码运行作业,确认收到的告警邮件已包含完整错误信息即可。
内容的提问来源于stack exchange,提问作者siddhesh
相关产品推荐
相关产品推荐

