zabbix 微信告警

配置微信告警:
準備事項:python

微信企業號 
企業號已經被部門成員關注 
企業號有一個能夠發送消息的應用,一個受權管理員,可使用應用給成員發送消息json

須要獲得的信息小程序

成員帳號
組織部門ID
應用ID
CorpID和Secretapi

首先咱們登錄企業微信-→ 應用於小程序  建立咱們的zabbix告警微信

image.png

完成後點擊咱們建立的小程序 便可得到 對應的ID信息:app

image.png

獲取咱們的企業corpid:python2.7

image.png


爲zabbix_server 增長wechat告警腳本和告警媒介:ide

將腳本複製到/usr/lib/zabbix/alertscripts默認腳本存放路徑,名字任意。post

#!/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, # 企業號中的用戶賬號,在zabbix用戶Media中配置,若是配置不正常,將按部門發送。
#"totag": Tagid, # 企業號中的部門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 = "XXXXXXXXXXXXXXf" # CorpID是企業號的標識
Secret = "XXXXXXXXXXXXXXXXXX" # Secret是管理組憑證密鑰
#Tagid = "1" # 通信錄標籤ID
Agentid = "xxxxxx" # 應用ID

Token = GetToken(Corpid, Secret)
Status = SendMessage(Token,User,Agentid,Subject,Content)
print Status

新增告警媒介:

image.png

增長告警信息模板:內容可根據本身需求填寫

image.png


企業號通信錄:把全部要接收告警的人都添加到企業號通訊錄裏面。

最後測試告警發送便可:

image.png

相關文章
相關標籤/搜索