linux上zabbix企業微信報警
zabbix-sever:上操作
cp wechat-xin.py /usr/local/zabbix/share/zabbix/alertscripts/wechat-xin.py
python get-pip.py
pip install requests
修改指令碼專案:
Corpid = "wwrafd2471af236a3f" # CorpID是企業號的標識
Secret = "o77bltex9ycSIFLZorukZ-FfiGjTWpVJbLXk-gC07UA" # Secret是管理組憑證金鑰
指令碼內容如下:
#!/usr/bin/python2.7
#_*_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傳過來的第二個引數
ls2 = sys.argv[3:] # zabbix傳過來的第三個引數
Content = "'\n'".join(ls2)
Corpid = "wwrgfd2471af236a3f" # CorpID是企業號的標識
Secret = "o77blyex9ycSIFLZorukZ-FfiGjTWpVJbLXk-gC07UA" # Secret是管理組憑證金鑰
#Tagid = "1" # 通訊錄標籤ID
Agentid = "1000003" # 應用ID
#Partyid = "1" # 部門ID
Token = GetToken(Corpid, Secret)
Status = SendMessage(Token,User,Agentid,Subject,Content)
print Status
測試:
./wechat-xin.py 企業微信使用者名稱稱 傳送內容