在团队工作的地方接收任务告警

将自动化结果发送到已配置的聊天和邮件渠道。向团队提供任务链接,而不是另一个需要持续查看的仪表板。

两次查看仪表板之间,失败很容易被遗漏

作业可能在无人关注时失败。反复查看仪表板很耗时,而将所有结果发到聊天频道又会造成噪音。

发送团队需要的事件

任务失败
SlackMicrosoft Teams

选择渠道,并从告警中直接打开任务。

连接渠道、选择事件,并为各个作业配置通知路由

使用团队已在关注的渠道

选择任务告警的发送目标,以及各目标接收的事件。

电子邮件
Slack
Microsoft Teams
Telegram
Rocket.Chat
DingTalk
Gotify

从告警进入下一步操作

让例行工作清晰可见

为作业设置计划,让告警将失败通知团队。

计划任务

减少例行噪音,发送有用告警

跨作业重用通知目标

为 Slack、Teams 和其他受支持的渠道创建命名项目告警。只需保存一次通知目标与凭据引用,即可在多个任务模板中重用。集中管理通知发送的团队仍可使用共享服务器渠道。

发送需要关注的事件

为受支持的聊天目标选择成功、失败或等待确认事件。如果例行成功结果会带来噪音,可在模板中抑制。电子邮件任务告警报告失败,因此应同时选择适合作业的渠道与事件。

按模板或计划选择告警

采用项目默认值保持配置一致,或为模板选择一组自定义项目告警。计划可以继承或覆盖该选择。将高噪音测试作业与负责监控定期生产工作的通知目标分开。

将消息关联到执行记录

使用 Go 模板和任务上下文自定义项目告警消息。包含任务 URL,以便工程师打开输出、时间和结果。在将通知用于重要自动化之前,请从告警页面测试每个目标。

FAQ

Semaphore 支持哪些通知渠道?

Semaphore 支持 SMTP 邮件、Slack、Microsoft Teams、Telegram、Rocket.Chat、DingTalk 和 Gotify。为团队关注的通知目标配置共享服务器渠道或命名项目告警。提供程序凭据可从 Key Store 引用。依照渠道配置指南操作,并在依赖定时运维通知之前发送测试消息。

不同作业能通知不同的 Slack 或 Teams 频道吗?

可以。在项目中创建具有所需目标和事件的命名告警。任务模板可继承项目默认值,或选择自定义告警集合。这样,团队既能将不同作业路由到不同渠道,也能跨模板重用通知目标配置。计划可继承或覆盖模板选择。

能仅在任务失败时通知团队吗?

为相关项目告警选择失败事件。任务模板也提供成功和错误通知的抑制控制,因此例行检查成功后不必占满团队频道。等待确认的告警单独处理。在决定哪些结果应产生消息时,请同时审查目标事件选择和模板设置。

如何在不运行 Playbook 的情况下测试告警?

对单个项目告警使用 Send test message,或使用 Test all 检查已配置的项目通知目标。两种操作均无需启动基础设施自动化。确认收到消息后,运行无害任务,验证实际事件规则及返回结果的链接。变更凭据或 Webhook URL 后,应重复测试。

为什么任务已结束,却没有发送告警?

确认通知目标已启用、凭据有效,且选定事件包含对应的任务结果。检查模板是继承项目默认设置、使用自定义告警集合,还是抑制该类结果。对于计划任务,还需检查计划中的覆盖设置。空的自定义选择可以有意禁用该作业的项目告警发送。

能自定义通知消息吗?

命名项目告警支持带任务上下文的 Go 模板消息,包括任务 URL 和触发类型。利用这些上下文,帮助同事识别作业并打开执行记录。消息应简洁,避免包含敏感值。告警报告事件,而事故责任归属和升级流程仍由团队自行管理。

定期补丁和证书检查能发送失败告警吗?

可以。定时任务使用已配置的告警选择,可从任务模板继承,也可在计划中覆盖。Ansible 补丁、备份检查或证书更新失败时,可以将结果发送给团队,无需有人一直查看仪表板。打开链接中的任务,查看输出和执行详情。

邮件和聊天告警报告相同的事件吗?

它们支持的事件不同。邮件任务告警报告失败,受支持的聊天渠道还可报告成功和等待确认事件。请为每个项目通知目标选择相关事件,并审查模板抑制设置。通知是进入任务证据的途径,不能替代结果检查或事故管理。