如何在Pentaho中实现作业/转换失败时自动发送邮件?
Pentaho作业/转换执行失败自动发邮件的实现步骤
一、配置全局邮件服务器
打开Spoon工具,点击顶部菜单栏的工具→选项,切换到邮件标签页:
- 填写SMTP主机地址(比如
smtp.qq.com)、对应端口(如587) - 勾选「需要认证」,输入发件邮箱的账号和授权码
- 按需设置加密方式(TLS/SSL),点击「测试」确认能正常发邮件,没问题后保存配置
二、给现有ETL作业添加失败告警分支
- 打开正在使用的ETL作业,找到核心执行节点(比如调用转换的「转换」节点、子作业节点)
- 右键该节点,选择添加分支→添加失败分支,确保节点执行失败时触发这条分支
- 从左侧作业面板的「通用」分类里拖拽发送邮件节点到失败分支上:
- 双击节点配置信息:
- 收件人填写需要接收告警的邮箱,多个邮箱用逗号分隔
- 主题设置明确的告警标识,比如
ETL作业失败通知:${JOB_NAME} ${DATE},用Pentaho变量自动带入作业名和日期 - 正文用变量填充失败详情:
作业名称:${JOB_NAME}
执行时间:${DATE} ${TIME}
失败节点:${NODE_NAME}
错误原因:${ERROR_MESSAGE} - 勾选「使用服务器配置」,直接调用之前全局配置好的邮件服务器,无需重复填写SMTP信息
- 双击节点配置信息:
- 确认失败分支的连线逻辑,保证核心节点执行失败后自动触发邮件发送
三、转换内部错误告警(可选)
如果需要捕获转换内单个步骤的失败:
- 打开目标转换,点击顶部转换→设置,切换到「错误处理」标签页
- 勾选「启用错误处理」,选择「发送邮件」作为错误处理方式
- 配置收件人、主题及带变量的错误详情,这样转换内任何步骤出错都会自动发送告警邮件
四、测试验证
手动模拟源端OLTP数据库离线场景,触发作业/转换失败,检查收件邮箱是否收到包含正确错误信息的告警邮件
内容的提问来源于stack exchange,提问作者user21051730
相关产品推荐
相关产品推荐

