通过微信企业号发送zabbix报警
2016-07-15 08:40
417 查看
采用微信报警时,管理员账户中必须要设置"示警媒体"一项,"收件人"一项可随便填写一下。其它成员则可以不用添加设置。
-------------------------------------------------------------------------------------------------------------------------------------
1. 首先要自己申请一个微信企业号(貌似一个人可以申请好几个,我测试的时候同样的信息申请了2个没问题)。团体模式的 三分钟就ok
申请账号就不细说了,填下自己的信息然后用绑定了自己银行卡的微信扫一下..注意下面几个地方就ok:
2.申请完毕后登陆进去(每次登陆都会要求微信扫码认证,很恶心,但是很安全)
注意:主要上传logo..不然发消息的时候会返回报错…(应该算是bug了…)
这时候先把自己配置好 然后加关注.
这里设置好邮箱..可以发送二维码到邮箱邀请关注.后期可能会比较有用
上面在通讯录里面加好自己以后,直接扫描设置里面的二维码.进行关注.
ok。。。关注完成了..那么下面需要创建一个管理组,生成Corpip和Secret (这里说明下,,,后面通过api进行调用时,会通过corpip和Secret生成认证token.以此作为凭证进行身份确认.默认过期时间为7200秒)
然后权限管理里面加上自己,会发送邮件到对应邮箱,进行确认就ok
页面配置都ok,然后根据官网文档的API接口进行测试..我这里就不演示了 具体可以去看官方API
然后写了一个简单的Python 根据位置变量传入要发送的信息
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import simplejson as json import sys class weChat: def __init__(self,url,Corpid,Secret): url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (url,Corpid,Secret) res = self.url_req(url) self.token = res['access_token'] def url_req(self,url,method='get',data={}): if method == 'get': req = urllib2.Request(url) res = json.loads(urllib2.urlopen(req).read()) elif method == 'post': req = urllib2.Request(url,data) res = json.loads(urllib2.urlopen(req).read()) else: print 'error request method...exit' sys.exit() return res def send_message(self,userlist,content,agentid=0): self.userlist = userlist self.content = content url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s' % self.token data = { "touser": "", "toparty": "1", "totag": "", "msgtype": "text", "agentid": "1", "text": { "content": "" }, "safe":"0" } data['touser'] = userlist data['agentid'] = agentid data['text']['content'] = content data = json.dumps(data,ensure_ascii=False) # print data res = self.url_req(url,method='post',data=data) if res['errmsg'] == 'ok': print 'send sucessed!!!' else: print 'send failed!!' print res if __name__ == '__main__': userlist = sys.argv[1] content = sys.argv[2:] content = '\n'.join(content) Corpid = 'wx647eb76cd7038c3d' Secret = 'DTmfHEEQw1bwLG5T1MMtABzrJe1Dhon54s4XvIS8H0rHpZ09L7E0bJg0nL8HFwMt' url = 'https://qyapi.weixin.qq.com' wechat = weChat(url,Corpid,Secret) wechat.send_message(userlist,content)
3.关联zabbix
将 sendwechat.py 脚本放到zabbix安装目录下的share/zabbix/alertscripts
添加警类型
添加联系人,这里的联系人,对应之前设置的userid
最后进行测试.根据自己的情况进行调整.
参考资料:http://blog.csdn.net/u011744758/article/details/45363125
相关文章推荐
- [西安微信开发]如何写出阅读量100万+的微信爆款文章
- 《众媒时代》:2015年美国传统媒体在移动时代的困惑、冲击与转型,最遗憾的是没有对微信上的信息传播情况的全面的概括分析。三星推荐
- 微信各类地图语音导航
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
- ViewPager + Fragment 实现类微信界面
- 微信公众号调用JS-SDK
- 微信开发官方Demo(C#版本) 坑死人
- 微信开发提示【防盗号或诈骗,请不要输入QQ密码】
- Java 微信登录授权后获取微信用户信息昵称乱码问题解决
- 微信公众号支付
- 新版微信-微信公众号一键关注解决办法
- 微信公众号开发教程[010]-消息管理-获取公众号的自动回复规则
- Java实现简单的日历小程序之Java图形界面开发小日历
- 手机QQ内置网页,微信内置网页中进行分享到QQ和微信的操作
- Android高仿微信发送位置
- 微信公众号开发教程[009]-消息管理-模板消息
- 网页分享到微信后不能从朋友圈打开
- 查询数组中的学生信息
- java 倒计时小程序