说明:zabbix发送报警时有三个参数,暂且用$1,$2,$3来表示,分别对应的是"接收人","主题","消息"
在zabbix3.0的报警媒介类型里,有个脚本参数设置,可设置成{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对应$1,$2,$3
以下是相关脚本,用python编写
#!/usr/bin/python import urllib import json import sys CorpID="wx1xxxxxxxxxxx" Secret="RRIxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnO" #获取token的url gettokenurl="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (CorpID,Secret) f=urllib.urlopen(gettokenurl) s=eval(f.read()) access_token=s.get(‘access_token‘) def sendmesage(touser,subject,content): senmesageurl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % (access_token) data = { "touser":touser, #touser对应zabbix报警媒介的收件人,即上面所说的$1参数 "toparty":"1", #企业号的部门ID "msgtype":"text", #消息类型 "agentid":1, #对应企业号应用的ID "text":{"content":content}, #对应上述说的zabbix的$3参数 "safe":"0" } dataa=json.dumps(data) print content p=urllib.urlopen(senmesageurl,dataa) if __name__ == ‘__main__‘: touser=str(sys.argv[1]) subject=str(sys.argv[2]) content=str(sys.argv[3]) sendmesage(touser,subject,content)
时间: 2024-10-29 10:46:36