配置企业微信机器人支持多部门告警的核心方案是为每个部门群聊单独创建机器人,获取独立的 Webhook 地址,并在监控系统中配置路由规则将不同级别的告警分发到对应地址。
先说结论:实现多部门告警隔离必须创建多个企业微信机器人,通过监控系统告警动作逻辑匹配不同 Webhook 地址。
- 适合:需要将告警按部门、业务线或紧急程度隔离的场景
- 先准备:至少三个成员的企业微信群、监控系统管理员权限
- 验收:不同部门群聊能收到对应的告警测试消息
快速处理思路
不要尝试用一个机器人推送所有部门,企业微信机器人绑定特定群聊。正确做法是在每个接收告警的部门群内分别添加机器人,获取多个 Webhook 地址,然后在监控平台(如 Zabbix、夜莺)的告警媒介或通知策略中,根据告警标签或严重程度映射到不同的 Webhook。
为什么要多机器人配置
单个企业微信机器人只能向创建它时所在的那个群聊发送消息,无法跨群推送。若多个部门共用一个机器人地址,所有告警会涌入同一个群,导致信息噪音和职责不清。通过多机器人配置,核心业务告警可发送至“应急响应群”,网络告警发送至“网络运维群”,实现告警分流和精准触达。
分步处理
步骤 1:在企业微信端创建多个机器人
在每个需要接收告警的部门群聊中,右键群设置选择“添加群机器人”,自定义名称(建议格式:环境 - 服务 - 类型),复制生成的 Webhook 地址。注意群成员至少三人以上才能创建机器人,每个机器人对应一个独立的 Webhook URL。
步骤 2:配置监控系统告警媒介
以 Zabbix 为例,进入“管理 - 报警媒介类型”,创建多个脚本媒介类型,分别填入不同部门的 Webhook 地址。若使用 Python 脚本,需将脚本上传至告警脚本目录(如/usr/lib/zabbix/alertscripts/),并在脚本内硬编码或动态传入对应的 Webhook 地址。
步骤 3:设置告警路由规则
在监控系统的告警动作或通知策略中配置条件。例如设定“当告警级别为灾难时,使用媒介 A(核心群 Webhook);当告警级别为一般时,使用媒介 B(普通群 Webhook)”。夜莺 v6 等系统支持在告警规则中直接绑定不同的通知渠道。
步骤 4:脚本权限与依赖检查
确保告警脚本具有执行权限(chmod +x),且运行用户(如 zabbix)有权限读取脚本。若脚本报错import requests未找到,需安装 Python 依赖库。
怎么验证是否生效
在监控系统手动触发测试告警,或使用“测试”按钮发送消息。观察不同部门的企业微信群是否收到对应内容的消息。检查监控系统动作日志,确认是否有发送失败记录。若使用脚本,可查看脚本生成的日志文件(如/tmp/weixin.log)排查错误。
常见坑
Webhook 地址泄露:Webhook 地址相当于身份凭证,不要随意发送给无关人员,以免被恶意调用推送垃圾信息。
频率限制:企业微信机器人规定一个机器人 1 分钟不能超过 20 条信息,高频告警场景需考虑合并告警或升级方案。
脚本格式错误:从 Windows 传输脚本到 Linux 可能包含不可见字符,导致No such file or directory报错,需使用dos2unix转换格式。
群成员不足:企业微信群机器人创建要求群成员至少三人,测试群若人数不足无法添加机器人。
常见问题
一个机器人能同时发送给多个群吗?
不能,企业微信机器人绑定创建时所在的特定群聊,无法跨群发送,多群通知必须创建多个机器人。
告警发送频率有限制吗?
有限制,官方建议每个机器人每分钟不超过 20 次调用,超过限制可能导致消息发送失败。
脚本执行报错 Permission denied 怎么办?
检查脚本文件是否赋予执行权限,使用chmod +x 脚本名命令授权,并确认属主是否为监控系统运行用户。
消息推送功能在哪里配置?
企业微信 v4.1.41 版本开始,“群机器人”功能更名为“消息推送”,配置入口在群设置的消息推送选项中。
参考来源
- 夜莺 v6 告警系统实战:5 分钟搞定企业微信机器人告警配置 (附常见问题排查)-CSDN 博客
- Zabbix 告警升级:如何用企业微信机器人实现多人群组告警
- 企业微信群机器人怎么配置,企业微信群机器人有哪些功能?
- 运维监控工具:群聊机器人 (企微&钉钉) 告警配置操作指引
- zabbix 配置企业微信告警群机器人告警
- 使用企业微信群接收告警通知
- Zabbix 企业微信告警机器人配置全攻略:从零到实战 (附 Python 脚本)
- 如何设置「消息推送」
- 企业微信告警机器人配置_企业微信告警接口 - 睿象云