zabbix配置企业微信报警
前提:安装配置好zabbix-server 安装php 、 pip
实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点
1、申请一个微信公众号(企业号),为了获得三个数据(corpid、appsecret、agentid)用于写脚本参数。
接口调用测试
点击:API文档——>开发者工具——>接口调试工具,找不到就直接点这个地址
http://work.weixin.qq.com/api/devtools/devtool.php
corpid为创建的企业号生成的corpid2.写脚本 位置/usr/lib/zabbix/alertscripts
cat weixin.py
#!/usr/bin/env python#-*- coding: utf-8 -*-import requestsimport sysimport osimport jsonimport logging logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',datefmt = '%a, %d %b %Y %H:%M:%S',filename = os.path.join('/tmp','weixin.log'),filemode = 'a')corpid='微信企业号corpid'appsecret='应用的Secret'agentid=应用的id#获取accesstokentoken_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecretreq=requests.get(token_url)accesstoken=req.json()['access_token']#发送消息msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken touser=sys.argv[1]subject=sys.argv[2]#toparty='3|4|5|6'message=sys.argv[2] + "\n\n" +sys.argv[3]params={"touser": touser,#"toparty": toparty,"msgtype": "text","agentid": agentid,"text": {"content": message},"safe":0}req=requests.post(msgsend_url, data=json.dumps(params))logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
3.脚本编写完成之后需要为脚本添加执行权限
[root@zabbix alertscripts]# chmod +x weixin.py
4.web界面新增报警媒介类型
名称自定义即可,类型选择脚本,脚本名称为所写的脚本的名称weixin.py,脚本的三个参数都是zabbix内置变量,分别为:报警收件人:{ALERT.SENDTO},报警标题:{ALERT.SUBJECT},报警内容:{ALERT.MESSAGE},添加完报警媒介类型后勾选启用.
5.6、配置用户报警媒介信息
配置需要收到微信报警的用户的信息,添加报警媒介,选择上面创建的微信报警,收件人填写上面所说的部门成员的账号,由于是通过微信公众号发送的微信提醒,如果需要为多个用户例如微信企业号中所有用户发送报警,这里收件人的信息就填写为@all
6.测试
命令行测试脚本能否成功执行
[root@zabbix alertscripts]# ./weixin.py 用户id “测试” ‘test’
测试的时候如果出现错误提示缺少requests,解决方法为使用pip进行安装:pip install smtplib同时在zabbix服务器的后台也生成了微信报警的日志文件/tmp/weixin.log,如果测试不成功可以通过日志来进行查错命令行测试完成后,如果想要通过zabbix进行触发报警,还需要做的就是将上面生成的日志文件的所属修改为zabbix用户且具有写权限 chown -R 777 /tmp/weixin.log [root@zabbix alertscripts]# ll /tmp/weixin.log -rwxr-xr-x 1 zabbix zabbix 35329 6月 13 07:47 /tmp/weixin.log 到这里微信报警就算大功告成了,接下来就可以愉快的通过zabbix进行触发微信报警了,报警成功触发后可以通过zabbix面板的报表——>动作日志查看©著作权归作者所有:来自51CTO博客作者wx5b99ec814c1ab的原创作品,如需转载,请注明出处,否则将追究法律责任
更多相关文章
- MySQL-MHA集群部署(binlog复制)
- 优雅spring-boot项目启动,停止,重启脚本
- 虚假软件更新滥用NetSupport远程访问工具
- 【DB笔试面试459】ORA-00904:
- DiskShadow使用大全 基于IOCs的防御
- 【函数】wm_concat包的订制
- ubuntu下安装交叉编译的环境脚本
- Take Command 脚本语言基础
- Zabbix各种报错信息和遇到的问题