教你用 Python 發(fā)送告警通知到微信的操作過(guò)程
常見(jiàn)的告警方式有:郵件,電話,短信,微信。
短信和電話,通常是收費(fèi)的(若你有不收費(fèi)的,可以評(píng)論分享一下),而郵件又不是那么及時(shí),因此最后我選擇微信通知。
這里說(shuō)的微信,是企業(yè)微信,而我之前用注冊(cè)過(guò)個(gè)體戶的執(zhí)照,因此可以很輕松就可以注冊(cè)自己的企業(yè)微信。
# 1. 新建應(yīng)用
登陸網(wǎng)頁(yè)版企業(yè)微信 (https://work.weixin.qq.com/),點(diǎn)擊 應(yīng)用管理 -> 應(yīng)用 -> 創(chuàng)建應(yīng)用

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

# 2. 獲取Secret
使用 Python 發(fā)送告警請(qǐng)求,其實(shí)就只使用到兩個(gè)接口
- 獲取 Token :https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={secret}
- 發(fā)送請(qǐng)求 :https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}
可以看到,最重要的是 corpid 和 secret:
- corpid:唯一標(biāo)識(shí)你的企業(yè)
- secret:應(yīng)用級(jí)的密鑰,有了它程序才知道你要發(fā)送該企業(yè)的哪個(gè)應(yīng)用
corpid 可以通過(guò) 我的企業(yè) -> 企業(yè)信息 獲取

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

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

最后將 corpid 和 secret 填入下面的常量中。
import json
import datetime
import requests
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)
if rep.status_code != 200:
print("request failed.")
return
return json.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)
return json.loads(rep.content)然后就可以通過(guò) send_msg 函數(shù)發(fā)送消息了。
wechat = WeChatPub()
now = datetime.datetime.now()
timenow = now.strftime('%Y年%m月%d日 %H:%M:%S')
wechat.send_msg(f"<div class=\"gray\">{timenow}</div> <div class=\"normal\">阿里云 cookie 已失效</div><div class=\"highlight\">請(qǐng)盡快更換新的 cookie</div>")只要你的企業(yè)微信沒(méi)有關(guān)閉通知的權(quán)限,那你的手機(jī)立馬就會(huì)彈出這個(gè)告警信息。

簡(jiǎn)單幾步就對(duì)接了企業(yè)微信,實(shí)現(xiàn)了手機(jī)的實(shí)時(shí)告警功能,推薦有企業(yè)微信的同學(xué)使用。
當(dāng)然一定有更多,更好用的實(shí)現(xiàn)方法,我只是我選擇了其中一種。
到此這篇關(guān)于教你用 Python 發(fā)送告警通知到微信的文章就介紹到這了,更多相關(guān)Python 微信告警通知內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 三邊測(cè)量定位的實(shí)現(xiàn)代碼
這篇文章主要介紹了python 三邊測(cè)量定位的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
Python編程異步爬蟲(chóng)之a(chǎn)iohttp模塊的基本用法
aiohttp?模塊是一個(gè)基于?asyncio?的?HTTP?客戶端和服務(wù)器框架,可以用于異步處理?HTTP?請(qǐng)求和響應(yīng),這篇文章給大家介紹Python編程異步爬蟲(chóng)之a(chǎn)iohttp模塊的基本用法,感興趣的朋友一起看看吧2024-03-03
Python Excel vlookup函數(shù)實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Python Excel vlookup函數(shù)實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
numpy數(shù)據(jù)類(lèi)型dtype轉(zhuǎn)換實(shí)現(xiàn)
這篇文章主要介紹了numpy數(shù)據(jù)類(lèi)型dtype轉(zhuǎn)換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python實(shí)現(xiàn)的登錄和操作開(kāi)心網(wǎng)腳本分享
這篇文章主要介紹了python實(shí)現(xiàn)的登錄和操作開(kāi)心網(wǎng)腳本分享,可以登錄開(kāi)心網(wǎng),登錄后發(fā)送信息等功能,需要的朋友可以參考下2014-07-07

