系統(tǒng)運維
配置微信告警:
準(zhǔn)備事項:
微信企業(yè)號?
企業(yè)號已經(jīng)被部門成員關(guān)注?
企業(yè)號有一個可以發(fā)送消息的應(yīng)用,一個授權(quán)管理員,可以使用應(yīng)用給成員發(fā)送消息
需要得到的信息
成員賬號
組織部門id
應(yīng)用id
corpid和secret
首先我們登陸企業(yè)微信-→ 應(yīng)用于小程序 ?創(chuàng)建我們的zabbix告警
完成后點擊我們創(chuàng)建的小程序 即可獲得 對應(yīng)的id信息:
獲取我們的企業(yè)corpid:
為zabbix_server 增加wechat告警腳本和告警媒介:
將腳本復(fù)制到/usr/lib/zabbix/alertscripts默認(rèn)腳本存放路徑,名字任意。
#!/usr/bin/python2.7
#_*_coding:utf-8 _*_
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, # 企業(yè)號中的用戶帳號,在zabbix用戶media中配置,如果配置不正常,將按部門發(fā)送。
#totag: tagid, # 企業(yè)號中的部門id,群發(fā)時使用。
msgtype: text, # 消息類型。
agentid: agentid, # 企業(yè)號中的應(yīng)用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傳過來的第一個參數(shù)
subject = sys.argv[2] # zabbix傳過來的第二個參數(shù)
content = sys.argv[3] # zabbix傳過來的第三個參數(shù)
corpid = xxxxxxxxxxxxxxf # corpid是企業(yè)號的標(biāo)識
secret = xxxxxxxxxxxxxxxxxx # secret是管理組憑證密鑰
#tagid = 1 # 通訊錄標(biāo)簽id
agentid = xxxxxx # 應(yīng)用id
token = gettoken(corpid, secret)
status = sendmessage(token,user,agentid,subject,content)
print status
新增告警媒介:
增加告警信息模板:內(nèi)容可根據(jù)自己需求填寫
企業(yè)號通訊錄:把所有要接收告警的人都添加到企業(yè)號通信錄里面。
最后測試告警發(fā)送即可: