Zabbix3.4指定用户才能收到报警的配置 1.下载python微信脚本 #安装simplejson wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz git地址: https://github.com/simplejson/simplejson/tree/v3.8.2 tar zxvf simplejson-3.8.2.tar.gz && cd simplejson-3.8.2 python setup.py build python setup.py install #下载wechat.py脚本 git clone https://github.com/X-Mars/Zabbix-Alert-WeChat.git cp Zabbix-Alert-WeChat/wechat.py /usr/lib/zabbix/alertscripts/ chmod +x wechat.py && chown zabbix:zabbix wechat.py 编辑脚本,将申请到的相关信息填入wechat.py中 [root@szxxlfhtest02t:/usr/lib/zabbix/alertscripts]# cat wechat.py #!/usr/bin/python #_*_coding:utf-8 _*_ #auther:火星小刘 import requests,sys,json import urllib3 urllib3.disable_warnings() reload(sys) sys.setdefaultencoding('utf-8') def GetToken(Corpid,Secret): Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken" Data = { "corpid":Corpid, "corpsecret":Secret } r = requests.get(url=Url,params=Data,verify=False) Token = r.json()['access_token'] return Token def SendMessage(Token,User,Agentid,Subject,Content): Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token Data = { "touser": User, # 企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。 #"totag": Tagid, # 企业号中的标签id,群发使用(推荐) #"toparty": Partyid # 企业号中的部门id,群发时使用。 "msgtype": "text", # 消息类型。 "agentid": Agentid, # 企业号中的应用id。 "text": { "content": Subject + '\n' + Content }, "safe": "0" } r = requests.post(url=Url,data=json.dumps(Data),verify=False) return r.text if __name__ == '__main__': User = sys.argv[1] # zabbix传过来的第一个参数 Subject = sys.argv[2] # zabbix传过来的第二个参数 Content = sys.argv[3] # zabbix传过来的第三个参数 Corpid = "copid" # CorpID是企业号的标识 Secret = "sec" # Secret是管理组凭证密钥 #Tagid = "1" # 通讯录标签ID Agentid = "1000002" # 应用ID #Partyid = "1" # 部门ID Token = GetToken(Corpid, Secret) Status = SendMessage(Token,User,Agentid,Subject,Content) print Status
Action配置