宝塔面板 + Server酱:服务器告警推送到微信
效果:宝塔面板的系统告警、服务停止、证书到期等通知通过 WEB HOOK 通道推送到微信
前置条件
- Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程)
- 宝塔面板已安装并可正常访问管理界面
- 如需推送到企业微信/钉钉/飞书群,参考通道配置说明
配置步骤
第一步:创建 WEB HOOK 消息通道
在宝塔面板中新增 WEB HOOK 消息通道(具体操作路径以面板实际显示为准),填写以下配置:
URL: https://sctapi.ftqq.com/你的SENDKEY.send
请求方法: POST
Body 类型: form_data
自定义参数:
title = $title
desp = $msg
将你的SENDKEY 替换为实际的 SendKey。若 SendKey 以 sctp 开头,请参考 Server酱 官方文档获取正确的 URL 格式。
第二步:理解 $msg → desp 映射的必要性
宝塔 WEB HOOK 通道在不添加自定义参数时,默认发送的 body 为 {"title":..., "msg":..., "type":...}。Server酱 API 只识别 desp 字段作为正文,不认 msg 字段。因此必须通过自定义参数将 $msg 映射到 desp,否则只会收到标题,正文为空。
第三步:关联告警项
宝塔的告警通知分布在各功能模块中,包括但不限于:
- 系统告警:CPU 占用过高、磁盘余量不足
- 服务停止:面板服务异常停止
- 证书到期:SSL 证书即将过期
- 网站流量限额:站点流量超出设定值
- 防篡改(企业版):文件被异常修改
在各告警功能设置处,将消息通道选择为刚才创建的 WEB HOOK 通道(具体路径以面板实际显示为准)。
完整示例
以下是一个完整的 WEB HOOK 通道配置,可直接对照填写:
URL: https://sctapi.ftqq.com/你的SENDKEY.send
请求方法: POST
Body 类型: form_data
自定义 Header: (留空)
自定义参数:
title = $title
desp = $msg
配置完成后,可触发一次告警测试验证。若微信收到消息且标题和正文均正常显示,说明【成功】;若只有标题没有正文,检查是否遗漏了 desp=$msg 参数。
常见问题
每天能发多少条告警?
免费额度为每天 5 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
发送频率有什么限制?
每分钟上限 50 条。宝塔 WEB HOOK 通道以 HTTP 200 判定发送成功,失败时自动重试最多 3 次,超时间隔递增。
配置了 WEB HOOK 但微信没收到消息?
首先检查 SendKey 是否正确填入 URL;其次确认已添加自定义参数 title=$title 和 desp=$msg;最后确认对应告警项已关联该通道。更多排查方法见常见问题与排查。
可以同时推送到钉钉/飞书群吗?
可以。Server酱 支持推送到企业微信、钉钉群、飞书群等通道,参考通道配置说明。宝塔侧只需配置一个 WEB HOOK 指向 Server酱 即可。