教你用 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 填入下面的常量中。
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)
然后就可以通過 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\">請盡快更換新的 cookie</div>")
只要你的企業(yè)微信沒有關(guān)閉通知的權(quán)限,那你的手機(jī)立馬就會彈出這個(gè)告警信息。
簡單幾步就對接了企業(yè)微信,實(shí)現(xiàn)了手機(jī)的實(shí)時(shí)告警功能,推薦有企業(yè)微信的同學(xué)使用。
當(dāng)然一定有更多,更好用的實(shí)現(xiàn)方法,我只是我選擇了其中一種。
到此這篇關(guān)于教你用 Python 發(fā)送告警通知到微信的文章就介紹到這了,更多相關(guān)Python 微信告警通知內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在tensorflow中實(shí)現(xiàn)去除不足一個(gè)batch的數(shù)據(jù)
今天小編就為大家分享一篇在tensorflow中實(shí)現(xiàn)去除不足一個(gè)batch的數(shù)據(jù),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python強(qiáng)制子類重寫父類的兩種方法實(shí)現(xiàn)
在Python中,有時(shí)候我們希望某個(gè)類能夠被子類繼承并重寫其中的某些方法,本文主要介紹了Python強(qiáng)制子類重寫父類的兩種方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能示例
這篇文章主要介紹了Python使用wget實(shí)現(xiàn)下載網(wǎng)絡(luò)文件功能,簡單介紹了wget安裝以及Python使用wget下載tar格式網(wǎng)絡(luò)文件并進(jìn)行解壓處理相關(guān)操作技巧,需要的朋友可以參考下2018-05-05Python寫捕魚達(dá)人的游戲?qū)崿F(xiàn)
這篇文章主要介紹了Python寫捕魚達(dá)人的游戲?qū)崿F(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Tensorflow中k.gradients()和tf.stop_gradient()用法說明
這篇文章主要介紹了Tensorflow中k.gradients()和tf.stop_gradient()用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06