环境简介
CentOS Linux release 7.2.1511 (Core) X64
zabbix-web-mysql-3.4.3-1.el7.noarch
zabbix-get-3.4.3-1.el7.x86_64
zabbix-web-3.4.3-1.el7.noarch
zabbix-server-mysql-3.4.3-1.el7.x86_64
zabbix-agent-3.4.3-1.el7.x86_64
开始配置
一,申请企业微信
传送门https://work.weixin.qq.com/,按照要求填写,申请成功即可,我这边有现成的,无需申请了
二,创建部门,并记录部门id用于发送信息
红色为添加子部门
部门ID这里用于发送信息使用
三,记录个人信息(用于给个人发送信息)
账号为给单个成员发送信息的id
四,添加应用
创建成功后记录Agentid与Secret,用于发送token的获取
可见范围为能够看到信息的人或群组
五,记录Corpid
六,接口测试信息,有兴趣可以自行测试
接口调试工具:http://work.weixin.qq.com/api/devtools/devtool.php
接口说明文档:https://work.weixin.qq.com/api/doc#10167
七,报警脚本
1,使用python脚本,对部门发送信息
vi /etc/zabbix/alertscripts/weixin.py #!/usr/bin/python # -*- coding: utf-8 -*- # zabbix notification confirmation script # python2.7 or above import requests import json import os import sys Toparty = "1842015725" #部门id AgentID = 1000003 #应用id #修改为企业CropID和Secret CropID = 'ww08dd03fec7777231' Secret = '9LTp1b-LVMgXDr1_6Hmx1f7QEPI4w4Hidg_oTbk415I' #获取Token Gtoken ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + CropID + "&corpsecret=" + Secret headers = {'Content-Type': 'application/json'} json_data = json.loads(requests.get(Gtoken).content.decode()) token = json_data["access_token"] #消息发送接口 Purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token #消息发送函数 def msg(title,message): weixin_msg = { "toparty" : Toparty, "msgtype" : "textcard", "agentid" : AgentID, "textcard" : { "title" : title, "description" : message, "url" : "www.wzlinux.com", "btntxt":"更多" } } print requests.post(Purl,json.dumps(weixin_msg),headers=headers) if __name__ == '__main__': title = sys.argv[1] #获取第一个参数 message = sys.argv[2] #获取第二个参数 msg(title,message) chmod 755 /etc/zabbix/alertscripts/weixin.py
测试
/etc/zabbix/alertscripts/weixin.py 1 2
所在组的成员就可以收到告警信息了
配置zabbix报警信息
创建action
正常就可以收到告警了
2,通过企业微信给个人发送信息
wget https://raw.githubusercontent.com/OneOaaS/weixin-alert/master/weixin_linux_amd64 cp -rf weixin_linux_amd64 /etc/zabbix/alertscripts/weixin chown 755 /etc/alertscripts/weixin chown zabbix:zabbix /etc/zabbix/alertscripts/weixin
测试
/etc/zabbix/alertscriptsweixin –corpid=xxxxxxxxxx
corpsecret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx –msg=”您好告警测试” –user=xxxxxxxxxxx –agentid=xxxxxxxxxxxxx
返回数据:
{“errcode”:0,”errmsg”:”ok”,”invaliduser”:”“}
zabbix告警配置
配置的user就可以收到告警信息了