文档故障排查

消息通知未送达的排查

该收到的预警没收到。本文按发送、通道、接收、屏蔽四个环节排查通知类问题。

张工2026-08-20阅读 97有用 16

先明确通知的类型

不同通知走不同通道,排查方法不同:

类型 通道 常见问题
站内消息 系统内 权限、订阅配置
短信 运营商标 签名、模板、额度
邮件 SMTP 服务器配置、被识别为垃圾
企业微信/钉钉 开放接口 Token、应用配置

先确认走的是哪个通道,再针对性排查。

环节一:发送

检查 1:触发条件是否满足

通知通常由规则触发。先确认规则是否真的被触发了:

  • 阈值配置是否正确(比如"库存低于 10 报警",实际配的是 1)
  • 触发数据是否真的达到了阈值
  • 规则是否被启用

这是最常见的原因:不是通知没送到,而是压根没触发。

检查 2:是否有发送记录

查系统的通知发送日志,看有没有发送记录。

结果 判断
无发送记录 触发环节问题
有记录但状态为失败 通道问题
有记录且状态成功 接收环节问题

检查 3:发送频率限制

很多系统有防骚扰机制:同一事件短时间内只发一次。

如果告警频繁触发,后面的可能被抑制了。

环节二:通道

短信

检查点 说明
短信签名 是否已报备通过
模板 ID 是否已审核通过
余量 是否欠费或用完
频率限制 运营商对同一号码有频次限制
号码格式 是否正确(有无 +86 前缀问题)

模板未审核通过是常见坑:开发时用测试模板能发,上线后换正式模板如果没审核,就发不出去。

邮件

检查点 说明
SMTP 配置 服务器地址、端口、加密方式
认证 用户名密码是否正确
发件人 是否与 SMTP 账号匹配
被拦截 是否被判为垃圾邮件
附件 是否超限

被识别为垃圾邮件很常见。解决方式:

  • 配置 SPF、DKIM 记录
  • 使用企业邮箱而非个人邮箱
  • 内容避免触发垃圾邮件规则

企业微信 / 钉钉

检查点 说明
Token 有效性 是否过期
应用配置 AgentId、Secret 是否正确
可见范围 接收人是否在应用可见范围内
IP 白名单 调用方 IP 是否加白

"可见范围"这一条容易漏:应用只对部分部门可见,其他部门的人收不到消息。

环节三:接收

检查 1:接收人配置

  • 接收人是否配置正确
  • 是否配置了接收人(有些规则默认不填接收人)
  • 接收人是否已离职或停用

检查 2:接收端

  • 短信被手机拦截
  • 邮件进了垃圾箱
  • 企业微信被设置为免打扰

让用户检查一下垃圾箱和拦截记录,这一条经常能直接找到答案。

环节四:被屏蔽

免打扰时段

很多系统支持"夜间免打扰"。如果告警发生在免打扰时段,就不会发送。

注意:紧急告警不应该受免打扰限制,要区分优先级。

告警风暴抑制

当同一类告警短时间内大量触发时,系统可能自动聚合或抑制,只发第一条。

这是合理的,但要让用户知道有这个机制,否则会以为"漏发了"。

排查流程

  1. 确认触发条件是否满足
  2. 查发送日志,看有没有记录
  3. 有记录 → 看发送状态和错误信息
  4. 无记录 → 查规则配置
  5. 状态成功但没收到 → 查接收端和屏蔽设置
  6. 换一个接收人测试(排除个人端问题)

上线前的测试清单

通知功能上线前必须测试:

测试项 验证内容
正常触发 达到条件时能发送
各通道 短信、邮件、企微分别测试
接收人 多人接收是否都收到
格式 内容是否正确、变量是否替换成功
免打扰 时段内是否真不发
频率限制 连续触发是否被正确抑制
异常情况 通道不可用时的降级处理

"变量替换"要重点测:通知内容里通常有变量(工单号、数量),如果变量没替换成功,用户会收到"工单 ${orderNo} 已完工"这种消息。

一条经验

通知功能的价值在于可靠,不在于花哨。

如果一个通知系统经常漏发,用户就会不再依赖它,转而用老办法(打电话、微信群),那这个功能就废了。

所以宁可少发几类通知,也要保证发出去的一定能收到。

通知通道的配置方式,[待补充:百华智造 MES 消息通知配置说明]。

这篇内容对你有帮助吗?

当前为游客态,投票按设备去重