首批通过分布式安全可靠测评,为关键业务系统打造
将告警对接到飞书群
更新时间:2026-04-14 15:15:54
您可使用飞书群接收告警消息,通过机器人发送消息到飞书,所有群成员都可以看到告警消息。
应用场景
OCP 的告警消息会推送给飞书群里的机器人,由机器人将告警消息发送到群里。对接飞书机器人只需提供飞书机器人的 Webhook 地址即可。
部分增强功能如下:
- 机器人安全设置支持加签:一种更安全的通知方式,OCP 会通过提供的秘钥对发送的消息加签名,防止恶意发送消息。
- 定义消息 markdown 格式,可以对告警名加粗,告警信息按列表展示。
- 设置代理:如果内网与公网不通,需要设置网络代理,告警消息先发送到代理,代理再转发到飞书。
前提条件
已完成飞书机器人的创建和设置。自定义机器人的接受消息频率不超过 100 次/分钟,5 次/秒;如果超过此限制,消息会被限流。
飞书机器人接入,请参见 飞书机器人官方文档。
已获得机器人的 Webhook。设置完飞书机器人后,您会得到机器人的 Webhook,此为配置 OCP 飞书告警通道的必填项,为了保证告警消息的安全,请确保此 Webhook 不被泄露。获取到 Webhook 后,执行如下命令测试消息是否能正确发送到飞书群:
curl 'https://open.feishu.cn/open-apis/bot/v2/hook/请补充完整您的webhook地址' \ -H 'Content-Type: application/json' \ -d '{"msg_type": "text","content": {"text":"飞书机器人测试消息"}}'
注意事项
通过上述的测试例子可以看出,告警消息是通过请求飞书 API 将告警消息投递过去,API 中的 token 是飞书机器人的唯一标识,需妥善保管。如果 token 泄露,攻击者可以通过请求该 API 来恶意发送消息,如广告、违规内容等。为了告警消息的安全可靠,飞书提供 3 种安全设置:
- 自定义关键词:告警消息必须包含一个关键词。
- IP 白名单:在白名单内的 IP 地址(OCP 地址),才可以通过 Webhook 发告警消息。
- 签名校验:发送的消息通过秘钥设置签名,飞书会校验签名是否正确,防止消息被篡改、恶意发送告警等风险。推荐使用这种安全设置。
操作步骤
在左侧导航栏中,单击 监控告警 > 告警。
在告警详情页中,单击 告警通道。

然后在告警通道页签下,单击 新建通道。
配置飞书告警通道。
基本配置。

选择项 是否必选 描述 通道类型 是 下拉选择飞书。 通道名 是 自定义通道名称,方便后续识别。 Webhook 地址 是 飞书机器人的访问地址,获取方式请参见,飞书机器人官方文档。 签名秘钥 否 签名秘钥:飞书机器人提供了 3 种安全设置,选择加签设置后可以获取到签名秘钥。 @指定用户 否 输入的手机号应为用户在飞书的登录手机号,当出现告警时机器人会@该成员,支持输入多个成员手机号,以半角逗号分隔。 代理 否 设置网络代理,OB Cloud 4.2.0 之前的版本需设置格式为 http:ip:port,4.2.0 及之后的版本设置为http://ip:port。注意
http 代理如果不支持 https,则飞书 Webhook 中的 https 需改为 http。
消息配置。

消息结构可以更改,设置 消息格式 为
markdown,可通过输入${}引入变量。shell ### OCP 告警通知 ${alarm_name} - 级别:${alarm_level} - 告警对象:${alarm_target} - 概述:${alarm_summary} - 生成时间:${alarm_active_at} - 详情:${alarm_description} - OCP 链接:${alarm_url}
其他功能。
告警消息聚合:可以开启通道聚合功能,避免一段时间内一条告警发送多次。OCP 告警默认 3 分钟(从 4.1.0 版本开始)产生一次告警,开启告警通道聚合之后,相同告警默认 600 秒仅发送一次。
单击 提交,完成配置。
常见问题
消息限流
Q:被限流导致消息发送失败,关键字如:{"code":9499,"msg":"too many request","data":{}}。
A:飞书自定义机器人的接受消息频率不超过 100 次/分钟,5 次/秒;如果超过此限制,消息会被限流。限流后所有发往飞书的消息都会失败,存在一定的隐患,解决方法:
- 告警通道开启聚合功能,同类告警、相同告警在聚合周期内只发送一次告警。
- 推送限流,OCP 推送设置中提供了限流策略,支持按天、小时来限流(限流维度是推送配置+告警通道)。
- 黑屏调整
ocp.alarm.event.resend-interval-seconds系统配置,默认 3 分钟产生一次告警事件。
以上步骤可以有效减少告警消息数量,降低告警被限流的可能性;但是瞬时产生大量不同告警可能会被限流。
网络不通
Q:如何处理用户环境不能直接访问飞书 API 的问题?
A:首先通过 curl 测试是否能发送测试消息,如果网络不通,则需要在 新建通道 > 基本配置 > 代理 中配置网络代理。
升级迁移
Q:升级或者迁移后,如何更新告警推送?
A:OCP 4.0.1 之前的版本是通过 HTTP 通道或脚本通道发送飞书告警消息,4.0.1 及之后的版本推荐增加内置的飞书通道。为避免出现校验发送结果失败的情况,请参考如下说明:
使用加签功能:OCP 4.0.1 之前发送飞书机器人消息是通过脚本或 HTTP 通道配置的,不支持加签设置,在升级到 OCP 4.0.1 及之后的版本后可以切到到这种方式:复制 Webhook,新建过程参考本文。
如果您使用的通道类型为 HTTP 或脚本通道,并且告警是发往飞书群,推荐您使用内置的飞书通道,参考本文配置。
Response 校验信息失败
Q:如何解决 Response 校验信息失败?
A:设置 Response 校验信息失败是为了防止脚本编写不规范导致用户收不到告警、漏发告警等问题。要求脚本里输出有且仅有一次有效信息(可以是 API 响应码,也可以是 API 响应体),OCP 来校验信息是否匹配。支持正则匹配、json 键值对匹配,飞书机器人 API 返回的为 json 内容,故应使用 json 键值对匹配。飞书告警通道的 Response 校验信息应设置为:{"StatusCode":0,"StatusMessage":"success"},脚本通道中不应输出除 Response 外的其他内容(如 curl 命令应加上 -s 参数防止输出进度信息)。