|
1 #!/usr/bin/python
2 # coding: utf-8
3 #python2将zabbix报警信息发送到微信。
5 import urllib,urllib2
6 import json
7 import sys
8 def gettoken(corpid,corpsecret):
9 gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
10 try:
11 token_file = urllib2.urlopen(gettoken_url)
12 except urllib2.HTTPError as e:
13 print e.code
14 print e.read().decode("utf8")
15 sys.exit()
16 token_data = token_file.read().decode('utf-8')
17 token_json = json.loads(token_data)
18 token_json.keys()
19 token = token_json['access_token']
20 return token
21 def senddata(access_token,user,content):
22 send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
23 send_values = {
24 "touser":user, #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
25 "toparty":"2", #企业号中的部门id
26 "msgtype":"text", #企业号中的应用id,消息类型。
27 "agentid":"1",
28 "text":{
29 "content":content
30 },
31 "safe":"0"
32 }
33 send_data = json.dumps(send_values, ensure_ascii=False)
34 send_request = urllib2.Request(send_url, send_data)
35 response = json.loads(urllib2.urlopen(send_request).read())
36 print str(response)
37 if __name__ == '__main__':
38 user = str(sys.argv[1])
39 content = str(sys.argv[3])
40 corpid = ''
41 corpsecret = ''
42 accesstoken = gettoken(corpid,corpsecret)
43 senddata(accesstoken,user,content) |
|
|