随着技术进化的越来越快,移动应用的普及。传统的短信邮件报警方式显的有点落伍。
微信接收报警变得越来越时髦。
好处就是没有短信通道的延时,以及字符数的限制。
话不多说开搞!
1、去https://work.weixin.qq.com/注册一个企业微信账户
2、手机下载企业微信,并扫描电脑上的二维码登录
3、创建一个企业应用
4、把想接收的消息的人员加入到这个应用。
5、写程序开搞它的api
对接企业微信api,需要几个东西。
流程就是先申请token ,然后 用token POST方式消息。
1、corpid 在我的企业->企业信息里面 (如果没有,那就logout下,再进入一次)
2、corpsecret 在企业应哟个创建完以后,点进去,就能看见。
有这两东西,就能申请token。代码
```
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
corpid = 'wwd****'
corpsecret = 't4vCvZUd*****9R2vSn8vFHHY'
full_url = '%s?corpid=%s&corpsecret=%s' %(url, corpid, corpsecret)
def get_token(url):
request = urllib2.Request(url=url)
return urllib2.urlopen(request).read()
result = json.loads(get_token(full_url))
```
注意哈,这个东西有效期是两个小时,7200秒。尽量是把这个东西保存起来,在两个小时内发送都用同样token。 不然频繁可能被封。
拿到了token。就能发消息了。
uri = 'https://qyapi.weixin.qq.com/cgi-bin/message/send'
send_url = '%s?access_token=%s' %(uri, token)
agentid = 1000002
mesg = 'this is test message.'
data = {'touser': '@all', 'msgtype': 'text', 'text': {'content': mesg}, 'safe': 0, 'agentid': agentid}
params = {'Content-Type': 'application/json'}
request = urllib2.Request(url=send_url, headers=params, data=json.dumps(data))
result = urllib2.urlopen(request)
print result.read()
print result.info()
OK ,消息发送成功。
这个玩意非常有意思,能支持文本消息类型,还能发送语音、图片不同的消息类型。具体咋玩看企业微信的api文档。
touser 参数,可以针对个人 ,就是把 'touser' : 'zhangsan|lisi|wangwu' 用 | (竖线) 分割 , 还能发送组。具体的自己研究吧。
OK ,脚本啥的都有了,往zabbix上一配置,设置两个参数,搞定。。。