作者信息:https://home.cnblogs.com/u/huangjiabobk

在运维工作中,zibbix监控是如何发送微信报警?

在运维工作中,Zabbix 通过微信发送报警通知是一种常见的需求,以下是详细的配置步骤:

1. 准备工作
  • 注册并配置企业微信
    • 注册企业微信并创建企业号。
    • 在企业微信后台创建一个应用,记录下 CorpIDAgentIDSecret
    • 创建一个告警组,并将接收消息的成员加入该组。
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_idyour_secretyour_agent_id 为实际的企业微信相关信息。

4. 配置 Zabbix Server
  • wechat_alert.py 脚本放在 Zabbix Server 的脚本目录中(默认是 /usr/lib/zabbix/alertscripts),并确保脚本具有执行权限:

    chmod +x /path/to/wechat_alert.py
    
5. 配置 Zabbix Web 界面
  • 创建报警媒介类型

    1. 登录 Zabbix Web 界面,进入 管理 > 报警媒介类型 > 创建报警媒介类型
    2. 填写报警媒介类型名称,例如“微信报警”。
    3. 类型选择“脚本”,脚本名称填写 wechat_alert.py
    4. 添加脚本参数:
      • {ALERT.SENDTO}:发送给谁
      • {ALERT.SUBJECT}:发送信息的标题
      • {ALERT.MESSAGE}:发送内容。
    5. 保存报警媒介类型。
  • 配置用户报警媒介

    1. 进入 管理 > 用户 > 报警媒介
    2. 选择用户(如 Admin),点击“添加”。
    3. 报警媒介类型选择刚才创建的“微信报警”。
    4. 填写收件人信息(企业微信中的用户账号)。
    5. 保存用户报警媒介。
  • 创建动作

    1. 进入 配置 > 动作 > 创建动作
    2. 填写动作名称,例如“微信报警动作”。
    3. 在“操作”部分,选择刚才创建的报警媒介类型。
    4. 配置触发条件,例如选择特定的触发器。
    5. 配置操作,选择发送给哪些用户。
    6. 保存动作。
6. 测试微信报警
  • 触发一个测试触发器,例如停止某个服务以触发告警。
  • 检查是否收到微信报警消息。

综上所述,通过以上步骤,您就可以成功配置 Zabbix 通过微信发送报警通知了。

posted @ 2025-04-10 22:37  黄嘉波  阅读(131)  评论(0)    收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波