不止短信!教你用 Python 發(fā)送告警通知到微信

常見的告警方式有:郵件,電話,短信,微信。

短信和電話,通常是收費(fèi)的(若你有不收費(fèi)的,可以評論分享一下),而郵件又不是那么及時(shí),因此最后我選擇微信通知。

這里說的微信,是企業(yè)微信,而我之前用注冊過個(gè)體戶的執(zhí)照,因此可以很輕松就可以注冊自己的企業(yè)微信。

#??1. 新建應(yīng)用

登陸網(wǎng)頁版企業(yè)微信 (https://work.weixin.qq.com/),點(diǎn)擊?應(yīng)用管理?->?應(yīng)用?->?創(chuàng)建應(yīng)用

上傳應(yīng)用的 logo,輸入應(yīng)用名稱,再選擇可見范圍,成功創(chuàng)建一個(gè)告警應(yīng)用

#??2. 獲取Secret

使用 Python 發(fā)送告警請求,其實(shí)就只使用到兩個(gè)接口

獲取 Token??:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}

發(fā)送請求?:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}

可以看到,最重要的是 corpid 和 secret:

corpid:唯一標(biāo)識你的企業(yè)

secret:應(yīng)用級的密鑰,有了它程序才知道你要發(fā)送該企業(yè)的哪個(gè)應(yīng)用

corpid 可以通過?我的企業(yè)?->?企業(yè)信息?獲取

而 secret 獲取相對麻煩一點(diǎn),點(diǎn)擊前面創(chuàng)建應(yīng)用,點(diǎn)擊 查看 secret

然后再點(diǎn)擊發(fā)送就會發(fā)送到你的企業(yè)微信上

最后將 corpid 和 secret 填入下面的常量中。

importjson

importdatetime

importrequests

CORP_ID =""

SECRET =""

class WeChatPub:

s = requests.session()

def __init__(self):

self.token = self.get_token()

def get_token(self):

url =f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"

rep = self.s.get(url)

ifrep.status_code !=200:

print("request failed.")

return

returnjson.loads(rep.content)['access_token']

def send_msg(self, content):

url ="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+ self.token

header = {

"Content-Type":"application/json"

}

form_data = {

"touser":"@all",

"toparty":" PartyID1 | PartyID2 ",

"totag":" TagID1 | TagID2 ",

"msgtype":"textcard",

"agentid":1000002,

"textcard": {

"title":"服務(wù)異常告警",

"description": content,

"url":"URL",

"btntxt":"更多"

},

"safe":0

}

rep = self.s.post(url, data=json.dumps(form_data).encode('utf-8'), headers=header)

ifrep.status_code !=200:

print("request failed.")

return

returnjson.loads(rep.content)

然后就可以通過 send_msg 函數(shù)發(fā)送消息了。

wechat = WeChatPub()

now = datetime.datetime.now()

timenow = now.strftime('%Y年%m月%d日 %H:%M:%S')

wechat.send_msg(f"阿里云 cookie 已失效請盡快更換新的 cookie")

只要你的企業(yè)微信沒有關(guān)閉通知的權(quán)限,那你的手機(jī)立馬就會彈出這個(gè)告警信息。

簡單幾步就對接了企業(yè)微信,實(shí)現(xiàn)了手機(jī)的實(shí)時(shí)告警功能,推薦有企業(yè)微信的同學(xué)使用。

當(dāng)然一定有更多,更好用的實(shí)現(xiàn)方法,我只是我選擇了其中一種。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容