企业刚需,速看 Email 告警设置全解析!

助力你熟练掌握并高效运用 Email 告警功能。
176837999909077e66b23c7f6f455



点击蓝字 关注我们



Apache DolphinScheduler 的告警系统,依托精巧的 SPI 插件架构,为数据工作流保驾护航。其中,借助 SMTP 协议实现的邮件通知,是保障信息及时传达的关键纽带。

当工作流或任务状态发生变化,无论是顺利完成、遭遇失败,亦或是出现超时,告警系统都会迅速响应,自动触发邮件告警,确保相关人员第一时间知晓。

值得一提的是,该系统支持丰富多样的告警方式,涵盖 Email(电子邮件)、DingTalk(钉钉)、EnterpriseWeChat(企业微信)、Script(脚本)、SMS(短信)、Feishu(飞书),以及 Slack、PagerDuty、WebexTeams、Telegram、Http 和阿里云语音告警,充分满足不同场景与用户的多样化需求。

本文将深入聚焦 Email 告警,全方位呈现其完整的设置与使用指南。从 Email 告警实例的创建、SMTP 参数的精细配置,到告警组的搭建以及与工作流的巧妙关联,均有详细阐述。此外,还将深度解析邮件发送的实现原理,分享切实可行的最佳实践,以及提供实用的常见问题排查方法,助力你熟练掌握并高效运用 Email 告警功能。

核心

架构

Email告警系统包含以下核心组件:

  • AlertChannelFactory: 定义邮件告警插件的参数和创建逻辑

  • MailSender: 实现实际的邮件发送功能

  • AlertGroupService: 管理告警组的CRUD操作

  • AlertPluginInstanceService: 管理告警插件实例

设置

步骤

第一步:创建Email告警实例

  1. 登录DolphinScheduler Web UI
  2. 导航到"安全中心" -> "告警实例管理"
  3. 点击"创建告警实例"
1768380000597067e99d19476fd6d
  1. 选择告警插件类型为"Email"
1768380001261857a7a2898ba834d

Email告警实例需要配置以下关键参数

参数名
说明
必填
示例值
server
SMTP服务器地址
smtp.gmail.com
port
SMTP端口
587
sender
发件人邮箱
noreply@example.com
user
SMTP认证用户名
user@example.com
password
SMTP认证密码
yourpassword
enableSmtpAuth
是否启用SMTP认证
true
enableTls
是否启用TLS加密
true
enableSsl
是否启用SSL加密
false
receivers
收件人邮箱列表
admin@example.com,user@example.com
1768380001666daa13c48f2734931

第二步:创建告警组

告警组是告警实例的集合,用于统一管理多个告警渠道:

  1. 导航到"安全中心" -> "告警组管理"
  2. 点击"创建告警组"
  3. 输入告警组名称和描述
  4. 选择刚创建的Email告警实例
  5. 保存配置

第三步:关联工作流

将告警组关联到工作流定义:

  1. 进入"工作流定义"页面
  2. 选择或创建工作流
  3. 在工作流设置中配置告警组
  4. 保存工作流定义

邮件发送

实现原理


邮件发送的核心逻辑在MailSender类中实现:

// 邮件发送主要步骤
1. 创建SMTP会话
2. 配置邮件服务器参数
3. 构建邮件内容
4. 发送邮件
5. 处理发送结果

系统支持HTML格式的邮件模板,提供更好的可读性。

告警触

发场景



Email告警会在以下场景自动触发:

  • 工作流成功: 工作流执行完成时

  • 工作流失败: 工作流执行失败时

  • 任务失败: 任务节点执行失败时

  • 工作流超时: 工作流执行超时时

  • SQL任务结果: SQL任务查询结果发送(需额外配置)

SQL任务

邮件发送


SQL任务支持将查询结果通过邮件发送,需要配置以下参数:

  • sendEmail: 启用邮件通知

  • title: 邮件主题

  • groupId: 告警组ID

最佳

实践

1. 安全配置

  • 使用TLS或SSL加密确保邮件传输安全
  • 定期更新SMTP认证密码
  • 限制收件人范围,避免邮件泄露

2. 性能优化

  • 合理设置SMTP连接超时时间
  • 避免在高峰期发送大量告警邮件
  • 使用邮件队列机制防止阻塞

3. 监控和维护

  • 定期测试邮件发送功能
  • 监控告警发送成功率
  • 建立邮件发送失败的备用通知机制

常见问

题排查

邮件发送失败

  1. 检查SMTP服务器配置是否正确
  2. 验证认证信息是否有效
  3. 确认网络连接是否正常
  4. 查看AlertServer日志获取详细错误信息

邮件格式异常

  1. 检查邮件模板配置
  2. 验证收件人邮箱格式
  3. 确认邮件内容编码设置

告警未触发

  1. 确认告警组已正确关联到工作流
  2. 检查工作流告警设置
  3. 验证AlertServer服务状态


DolphinScheduler的Email告警功能提供了完整的工作流监控和通知机制。通过合理配置告警实例、告警组和工作流关联,可以确保及时获取系统运行状态信息。建议在生产环境中结合其他告警渠道(如钉钉、企业微信等)使用,构建完善的监控告警体系。

Notes

本文档基于DolphinScheduler的SPI插件架构编写,邮件告警功能作为内置插件提供。系统支持扩展自定义告警插件,如需开发自定义告警渠道,请参考GitHub Alert SPI开发文档,路径:docs/docs/zh/contribute/backend/spi/alert.md


1768380007020239481d8ed255215
176838000753870063fc7a930f881
1768380007020239481d8ed255215

1768380008577496dea826c2f1562



用户案例



深圳某智能制造企业天翼云
Zoom网易邮箱 每日互动
惠生工程 作业帮 博世智驾
蔚来汽车 长城汽车集度
长安汽车思科网讯食行生鲜
联通医疗联想新网银行
唯品富邦消费金融 自如
有赞伊利当贝大数据
珍岛集团传智教育Bigo
YY直播 拈花云科太美医疗
Cisco Webex兴业证券


1768380008577496dea826c2f1562



迁移实战



Azkaban Ooize(当贝迁移案例)
airflow (有赞迁移案例)
Air2phin(迁移工具)
Airflow迁移实践

1768380008577496dea826c2f1562



发版消息




Apache DolphinScheduler 3.2.2版本正式发布!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!


1768380008577496dea826c2f1562



加入社区



关注社区的方式有很多:

  • GitHub: https://github.com/apache/dolphinscheduler
  • 官网:https://dolphinscheduler.apache.org/en-us
  • 订阅开发者邮件:dev@dolphinscheduler@apache.org(向邮箱发送任意内容,收到邮件后回复同意订阅即可)
  • X.com:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

非代码方式包括:

完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

‍代码方式包括:

查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler

1768380011215ce91bb9eaa4af790


17683800121164bafe7d1de408052

你的好友秀秀子拍了拍你

并请你帮她点一下“分享”