Zabbix使用企业微信机器人进行信息发送

一、在企业微信添加群,并添加企业微信群机器人

注意:在企业微信机器人需要相应的权限 需要联系企业微信后台管理员来添加相应的权限,否则自己无法再企业微信群添加机器人

点添加之后会生成Webhook地址,脚本调用机器人时需要用到webhook地址

二、在zabbix-server服务添加脚本

在/usr/lib/zabbix/alertscripts下添加监控脚本wechat.py 便于zabbix-server 调用脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import json
import sys

# 机器人的webhook地址
API_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b4fa7bb9-931c-4b53-a7b4-9ece748db98b"
# HTTP请求头部信息
HEADERS = {
    'Content-Type': 'application/json;charset=utf-8'
}

# 定义发送消息的函数
def send_text(text):
    # 构建消息体
    texts = {
        "msgtype": "text",
        "text": {
            "content": text
        }
    }
    # 发送HTTP POST请求
    response = requests.post(API_URL, json=texts, headers=HEADERS)
    # 打印响应内容(一般用于调试)
    print(response.content)

# 如果该文件被直接执行,则从命令行接收一个参数并将其发送到机器人的webhook地址
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("Usage: python send_text.py <text>")
        sys.exit(1)
    text = sys.argv[1]  # 获取命令行参数
    send_text(text)  # 发送消息

赋予脚本权限

chmod +x wechat.py

测试脚本

./wechat.py 123test

三、在zabbix-server网页端进行相应的配置

1、创建企业微信报警媒介类型

 

脚本参数: {ALERT.MESSAGE}

添加完成之后点添加即可  会在下面引用报警媒介类型

2、添加企业微信自动报警动作

添加条件

选择监控项添加触发器

选择主机——选择主机对应的监控项——点下面的选择  添加完成

添加第二条监控项

3、添加动作对应的操作

 添加操作

自己定义的发送消息

#主题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
#消息
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

添加恢复操作

自己定义的发送消息

#主题
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
#消息
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

添加完成之后点添加即可

4、在用户资料添加企业微信报警媒介

到这里就操作完成了 可以添加对应的动作触发器 来进行测试是否成功

### 如何配置 Zabbix企业微信机器人集成 #### 准备工作 为了使 Zabbix 能够向企业微信发送告警通知,需先完成一些准备工作。这包括获取企业微信应用的相关参数以及设置 Webhook URL。 - 获取 `corpid` 和 `corpsecret` 参数:这些可以在创建企业微信应用时获得。 - 创建一个新的应用程序并启用接收消息权限。 - 记录下该应用对应的 AgentId。 #### 配置企业微信机器人 按照官方文档说明,在企业微信群聊中添加一个群机器人,并复制其 Webhook 地址用于后续配置[^2]。 #### 设置 Zabbix 媒体类型 进入 Zabbix 后台管理界面,导航至 **Configuration -> Media types** 页面点击右上角的 “Create media type”。 - 名称可以设为 WeCom (Work WeChat),类型选择为 Script 或者 HTTP alert script(取决于具体需求); - 当采用脚本方式时,指定执行命令路径指向自定义的通知脚本位置;如果是通过HTTP请求,则填写完整的URL模板,通常就是之前保存的企业微信Webhook地址加上必要的查询参数。 对于基于HTTP POST的方式来说,构建JSON负载格式如下所示: ```json { "msgtype": "text", "text": { "content": "{ALERT.MESSAGE}" } } ``` 这里 `{ALERT.MESSAGE}` 是占位符,代表实际触发条件后的提示信息内容。 #### 定义动作(Action) 转到 **Configuration -> Actions**, 添加新的Action规则关联上述Media Type, 并设定触发器表达式匹配想要监控的对象和服务状态变化情况。 一旦满足预设阈值就会激活相应的操作流程——即调用已配置好的WeCom媒体渠道发出即时通讯提醒给相关人员或团队成员。 #### 测试验证 最后一步是测试整个链路是否正常运作。可以通过手动模拟一次事件来检验从Zabbix端发起的消息能否顺利抵达目标聊天室内的机器人实例处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值