Appearance
飞书通知配置
飞书通知适合团队共同值守。最简单的接入方式是在专用告警群中创建“自定义机器人”,由服务端向机器人 Webhook 发送文本或消息卡片。
1. 创建告警群
建议新建独立群组,例如“熊猫寨 · 生产告警”,只邀请需要处理告警的成员。生产、测试环境应使用不同群和不同机器人,避免误判。
2. 添加自定义机器人
- 打开目标群,进入“设置”。
- 选择“群机器人” → “添加机器人”。
- 选择“自定义机器人”。
- 设置名称、头像和用途说明。
- 创建完成后复制 Webhook 地址,并保存到服务端 Secret 管理器。
Webhook 地址通常类似:
text
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxWebhook 本身就是敏感凭据。不要在前端源码、Git、文档、工单或截图中公开真实地址。
3. 开启安全设置
飞书自定义机器人支持关键词、IP 白名单和签名校验。推荐至少开启一种,生产环境优先使用“签名校验 + IP 白名单”。
IP 白名单
填写熊猫寨工具服务器的固定公网出口 IP。服务器经过 NAT 或代理时,应填写飞书实际看到的出口 IP,而不是服务器内网地址。
签名校验
启用后复制签名密钥,并与 Webhook 分开保存。工具每次请求都应使用当前时间戳计算签名;服务器时间偏差过大会导致校验失败。
自定义关键词
可以设置“熊猫寨告警”等固定关键词。启用后,所有通知正文或卡片标题都必须包含至少一个已配置关键词,否则消息会被拒绝。
4. 发送基础测试
未开启签名校验时,可以先使用以下命令验证 Webhook。请仅在受控终端中替换真实地址:
bash
curl --fail --silent --show-error \
-X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"msg_type":"text","content":{"text":"熊猫寨告警:飞书通知测试成功"}}' \
"<YOUR_FEISHU_WEBHOOK>"返回 code: 0 且群里收到消息,表示 Webhook 可用。开启关键词后,测试正文必须包含相同关键词;开启签名后,应使用工具内的“发送测试通知”验证完整签名流程。
5. 在工具中填写
进入“告警通知”或“通知设置”页面,选择飞书,并填写:
| 字段 | 填写内容 |
|---|---|
| Webhook URL | 群自定义机器人的完整 Webhook 地址 |
| 签名密钥 | 开启签名校验后填写;未开启则留空 |
| 告警关键词 | 与机器人安全设置一致,例如“熊猫寨告警” |
| 消息格式 | 优先选择消息卡片,兼容性排查时先用纯文本 |
| 告警级别 | 建议至少开启 warning 与 critical |
保存后发送测试通知,并让另一位群成员确认也能看到消息。
消息内容建议
一条可处理的交易告警应至少包含:
- 环境:生产或测试
- 严重级别和事件类型
- 任务 ID 与交易对
- 多腿/空腿交易所及方向
- 当前任务状态和发生时间
- 建议动作,例如“暂停任务并人工对账”
不要发送 API Secret、钱包私钥、完整签名、登录口令或可直接复用的会话令牌。
限流与降噪
飞书会限制自定义机器人的调用频率和消息大小。告警系统应去重并设置冷却时间;同一错误持续发生时,合并计数,不要每秒重复推送。关键告警应进入持久化队列并有限次重试,不能因为通知失败而重复交易操作。
常见问题
返回 Key Words Not Found
机器人启用了关键词校验,但消息正文或卡片标题不包含指定关键词。统一工具模板和机器人关键词。
返回 Ip Not Allowed
白名单中不是服务器真实公网出口 IP。可从服务器查询出口 IP,并检查是否经过代理或 NAT。
返回签名错误
检查签名密钥、时间戳单位和服务器时间同步。不要把飞书签名密钥误填成 Webhook 中的标识。
请求成功但群里没有消息
确认机器人仍在原群中。飞书自定义机器人只属于创建它的当前群,不能把同一 Webhook 当作多个群的公共通知入口。
消息过多被限流
提高同类告警冷却时间,按任务和错误指纹去重,并避免在整点集中发送大量非紧急通知。
