在运维工作中,zibbix监控是如何发送微信报警?
在运维工作中,Zabbix 通过微信发送报警通知是一种常见的需求,以下是详细的配置步骤:
1. 准备工作
- 注册并配置企业微信:
- 注册企业微信并创建企业号。
- 在企业微信后台创建一个应用,记录下 CorpID、AgentID 和 Secret。
- 创建一个告警组,并将接收消息的成员加入该组。
2. 安装依赖
-
在 Zabbix Server 上安装 Python 和
requests库:sudo yum install python3-pip pip3 install requests
3. 编写微信报警脚本
-
创建一个名为
wechat_alert.py的 Python 脚本,内容如下:import requests import sys def send_wechat_alert(message): CorpID = 'your_corp_id' Secret = 'your_secret' AgentID = 'your_agent_id' Token = get_token(CorpID, Secret) url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={Token}" data = { "touser": "all", "msgtype": "text", "agentid": AgentID, "text": { "content": message }, "safe": 0 } response = requests.post(url, json=data) return response.json() def get_token(CorpID, Secret): url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CorpID}&corpsecret={Secret}" response = requests.get(url) return response.json()['access_token'] if __name__ == "__main__": alert_message = ' '.join(sys.argv[1:]) result = send_wechat_alert(alert_message) if result['errcode'] == 0: print("微信报警发送成功") else: print("微信报警发送失败,错误码:", result['errcode'], "错误信息:", result['errmsg']) -
替换
your_corp_id、your_secret和your_agent_id为实际的企业微信相关信息。
4. 配置 Zabbix Server
-
将
wechat_alert.py脚本放在 Zabbix Server 的脚本目录中(默认是/usr/lib/zabbix/alertscripts),并确保脚本具有执行权限:chmod +x /path/to/wechat_alert.py
5. 配置 Zabbix Web 界面
-
创建报警媒介类型:
- 登录 Zabbix Web 界面,进入 管理 > 报警媒介类型 > 创建报警媒介类型。
- 填写报警媒介类型名称,例如“微信报警”。
- 类型选择“脚本”,脚本名称填写
wechat_alert.py。 - 添加脚本参数:
{ALERT.SENDTO}:发送给谁{ALERT.SUBJECT}:发送信息的标题{ALERT.MESSAGE}:发送内容。
- 保存报警媒介类型。
-
配置用户报警媒介:
- 进入 管理 > 用户 > 报警媒介。
- 选择用户(如 Admin),点击“添加”。
- 报警媒介类型选择刚才创建的“微信报警”。
- 填写收件人信息(企业微信中的用户账号)。
- 保存用户报警媒介。
-
创建动作:
- 进入 配置 > 动作 > 创建动作。
- 填写动作名称,例如“微信报警动作”。
- 在“操作”部分,选择刚才创建的报警媒介类型。
- 配置触发条件,例如选择特定的触发器。
- 配置操作,选择发送给哪些用户。
- 保存动作。
6. 测试微信报警
- 触发一个测试触发器,例如停止某个服务以触发告警。
- 检查是否收到微信报警消息。
综上所述,通过以上步骤,您就可以成功配置 Zabbix 通过微信发送报警通知了。

浙公网安备 33010602011771号