Sentry + Server酱:Sentry 捕获到新的错误/异常时推送到微信
效果:Sentry 项目产生新异常时,微信立即收到告警通知。
前置条件
- 获取 Server酱 SendKey(30 秒获取教程)
- 拥有 Sentry 账号及项目权限
配置步骤
Sentry 的 Alert Rule 支持 Webhook 和 Internal Integration,会向自定义 URL POST 固定 JSON。根据是否需要解析报错详情,分为直连和中转两种方式。
方式一:固定文案直连(最简)
Server酱 API 服务端优先读取 URL query 中的 title 参数,利用此特性可直接将 Sentry 的 Webhook 指向 Server酱,无需额外服务。
- 复制以下 URL,将
你的SENDKEY替换为真实值:
https://sctapi.ftqq.com/你的SENDKEY.send?title=Sentry%E6%9C%89%E6%96%B0%E6%8A%A5%E9%94%99
- 在 Sentry 中进入 Alerts,新建规则。
- 在 Action 中选择 Webhook,将上述 URL 填入。
此方式触发后,微信将收到标题为「Sentry有新报错」的通知。如需推送到企业微信/钉钉/飞书群,请参考通道配置。
方式二:中转解析(含报错详情)
若需将 Sentry 发送的 JSON 中的错误标题或项目名送入正文 desp,需增加一层中转(如 Cloudflare Workers 或云函数),解析 JSON 后再调用 Server酱 API。
- 部署中转服务,接收 Sentry Webhook 并解析所需字段。
- 中转服务向 Server酱 发起请求:
curl -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" \
--data-urlencode "title=解析后的标题" \
--data-urlencode "desp=解析后的正文内容"
- 在 Sentry Alerts 规则的 Webhook Action 中,填入中转服务的 URL。
常见问题
额度怎么算?
免费版每日推送 5 条,每分钟上限 50 条;订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
消息没收到怎么排查?
检查 SendKey 是否正确、Sentry 规则是否触发,更多排查步骤见常见问题。
频率超限怎么办?
单个 SendKey 每分钟请求不能超过 50 次。若 Sentry 短时间爆发大量错误,请调整告警规则频率或合并通知。