zabbix微信监控
1.登陆https://work.weixin.qq.com/, 注册企业号
https://work.weixin.qq.com/wework_admin/frame#apps/modApiApp/5629499919461682

注册成功后点击我的企业查看企业号后面需要修改参数

2.创建应用


注意可见范围写上 如果部门没有创建 后面创建完后在修改一下

创建完记录应用信息

添加部门 zabbix-webchat-01

部门id为2后面要用到
把创建的成员加到新建的部门里面

mkdir /usr/lib/zabbix/alertscripts/
chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/
chmod -R 755 /usr/lib/zabbix/alertscripts/
vi /usr/lib/zabbix/alertscripts/wechat_alert.py #注意路径如果发送不成功可以写完放置到正确的位置
#!/usr/bin/python # -*- coding: utf-8 -*- #Author:loong576 #Alert for wechat #Version:1.0 import requests import json import sys def Get_Token(Corpid,Secret): url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' values = { "corpid":Corpid, #企业Id,对应'CorpID' "corpsecret":Secret #新建应用对应'Secret' } req = requests.post(url, params=values) data = json.loads(req.text) Token = data["access_token"] return Token def Send_Message(Token,Toparty,Agentid,Content): url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token data = { #"touser": Touser, #成员ID列表,指定为@all,则向关注该企业应用的全部成员发送,对应通讯录'账号'字段 "toparty": Toparty, #部门ID列表,对应部门的'部门ID'字段 "msgtype": "text", #消息类型,该字段非空 "agentid": Agentid, #企业应用的id,整型,非空,对应新建应用的'AgentId' "text": { "content":Content #消息内容,非空 }, "safe":"0" #表示是否是保密消息,0表示否,1表示是,默认0 } res = requests.post(url,json=data) return res.text if __name__ == '__main__': #Touser = sys.argv[1] Toparty = sys.argv[1] #web前端传过来的部门id Content = sys.argv[2] #web前端传过来的告警内容 Corpid = "ww93502bd6021dc3ed" Secret = "FX7M7CumF_XY-ORhS1FXwyPLKeeWw9lANXLNsozRqIc" Agentid = "1000002" Token = Get_Token(Corpid,Secret) print Get_Token(Corpid,Secret) print Send_Message(Token,Toparty,Agentid,Content)
也可以克隆到本地然后拷贝过去记得修改配置文件只修改三处就可以

git clone https://github.com/loong576/Wechat-Alert-for-Zabbix.git
requests库安装:
requests模块可以直接用get(), post(),put(), delete(), head() ,options(),方法对url操作。
web端设置创建报警媒介
{ALERT.SENDTO}
{ALERT.MESSAGE}
webchat-alert
wechat_alert.py

2创建wenxin群组和给予权限

把两个需要查看的群组添加进去

在微信群组中创建微信用户



创建动作

操作中添加

确保是动作是启动状态

然后可以关闭一台被监控主机在报表和手机上等待结果
手动测试脚本 2为部门号
/usr/lib/zabbix/alertscripts/wechat_alert.py 2 哈哈测试234
也可以这样测试

/usr/lib/zabbix/alertscripts/wechat_alert.py ZhangShaoLong buxingma

参考资料
http://blog.51cto.com/3241766/2108769
自定义端口监控
http://blog.51cto.com/3241766/2117521

浙公网安备 33010602011771号