利用微信實現(xiàn)自動發(fā)送監(jiān)控告警

最近筆者的項目需要找到一種方法能自動將Python爬蟲產(chǎn)生的一些結果用告警的信息的方式發(fā)送到手機上,以往我們用來發(fā)送告警的方式往往是短信或者郵件凶硅,但是這兩種方式要么不夠靈活要么實時性不夠》觳茫現(xiàn)在越來越多的互聯(lián)網(wǎng)應用選擇用微信作為平臺發(fā)送告警信息,這種方式的前提就是你的應用需要能夠訪問到微信的服務器足绅。
根據(jù)筆者的了解捷绑,目前集成微信告警主要有兩種方式:

  • 用個人號發(fā)送告警
  • 用公眾號(企業(yè)號)發(fā)送告警

個人號發(fā)送告警

顧名思義,雖然也是調用微信的API實現(xiàn)發(fā)送信息氢妈,但是這種方式需要使用個人賬號掃描登錄以后腳本才能運行粹污,另外從接受告警的形式上看起來也就像是跟一個人在聊天。當前已經(jīng)有很多熱心的大神將微信的接口封裝成了更加易于調用的接口SDK首量,如wxpywechat sender可以大大簡化接口調用的復雜度壮吩,感興趣的讀者可以自行研究,上述兩個項目的文檔已經(jīng)寫的非常詳細了

公眾號發(fā)送告警

使用公眾號發(fā)送告警加缘,從形式上看起來更加正式鸭叙,并且不需要掃碼登錄,更適合部署在服務器上長期運行拣宏。因為近期微信的企業(yè)號和公眾號做了合并沈贝,因此申請的流程有了一些變化,但是總體來說更加簡單了蚀浆,即使沒有真正的公司注冊信息也同樣可以申請到缀程,只是未驗證主體信息的賬號只能有200個成員,發(fā)送次數(shù)的限制為:帳號上限數(shù)*30人次/天

注冊公眾號(企業(yè)號)

現(xiàn)在申請的過程非常簡單市俊,申請入口:https://work.weixin.qq.com/

查看公眾號

注冊完成后可以進入到后臺管理頁面杨凑,點擊微信插件,可以看到我們企業(yè)號的二維碼摆昧,并可以進行添加成員等操作


微信插件

創(chuàng)建應用

在開始調用公眾號的API之前撩满,我們要先創(chuàng)建一個應用,告警可以發(fā)送到指定的應用中绅你,同時我們還可以對應用授權伺帘,以限制可以看到告警的人員范圍


創(chuàng)建應用

創(chuàng)建完成后,點擊應用圖標可以看到以下頁面


應用信息

其中AgentId和Secret兩個字段在后面的代碼中要用到

微信API

要實現(xiàn)簡單的消息發(fā)送忌锯,我們只需要用到兩個微信的API接口

Python調用微信API

廢話不多說伪嫁,直接上代碼

import json

import requests


class WeChatPub:
    s = requests.session()
    token = None

    def __init__(self):
        self.token = self.get_token("<corpid>", "<secret>")
        print("token is " + self.token)

    def get_token(self, corpid, secret):
        url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}".format(corpid, secret)
        rep = self.s.get(url)
        if rep.status_code == 200:
            return json.loads(rep.content)['access_token']
        else:
            print("request failed.")
            return None

    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": "領獎通知",
                "description": content,
                "url": "URL",
                "btntxt": "更多"
            },
            "safe": 0
        }
        rep = self.s.post(url, data=json.dumps(form_data).encode('utf-8'), headers=header)
        if rep.status_code == 200:
            return json.loads(rep.content)
        else:
            print("request failed.")
            return None


if __name__ == '__main__':
    wechat = WeChatPub()
    wechat.send_msg("<div class=\"gray\">2016年9月26日</div> <div class=\"normal\">恭喜你抽中iPhone 7一臺,領獎碼:xxxx</div><div class=\"highlight\">請于2016年10月10日前聯(lián)系行政同事領取</div>")

CorpID在我的企業(yè)->企業(yè)信息 頁面的最下面


mark

執(zhí)行以后在目標群里會收到以下信息:


mark

接下來的事情就簡單了偶垮,我們在已經(jīng)準備好的爬蟲腳本中需要告警的位置加上 wechat.send_msg()即可將相關的信息發(fā)送到我們的企業(yè)號上张咳,實現(xiàn)自動發(fā)送告警帝洪。

原文鏈接:《利用微信實現(xiàn)自動發(fā)送監(jiān)控告警》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脚猾,隨后出現(xiàn)的幾起案子葱峡,更是在濱河造成了極大的恐慌,老刑警劉巖龙助,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砰奕,死亡現(xiàn)場離奇詭異,居然都是意外死亡提鸟,警方通過查閱死者的電腦和手機军援,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沽一,“玉大人盖溺,你說我怎么就攤上這事∠巢” “怎么了烘嘱?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝗蛙。 經(jīng)常有香客問我蝇庭,道長,這世上最難降的妖魔是什么捡硅? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任哮内,我火速辦了婚禮,結果婚禮上壮韭,老公的妹妹穿的比我還像新娘北发。我一直安慰自己,他們只是感情好喷屋,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布琳拨。 她就那樣靜靜地躺著,像睡著了一般屯曹。 火紅的嫁衣襯著肌膚如雪狱庇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天恶耽,我揣著相機與錄音密任,去河邊找鬼。 笑死偷俭,一個胖子當著我的面吹牛浪讳,可吹牛的內容都是我干的。 我是一名探鬼主播涌萤,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼驻债,長吁一口氣:“原來是場噩夢啊……” “哼乳规!你這毒婦竟也來了形葬?” 一聲冷哼從身側響起合呐,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笙以,沒想到半個月后淌实,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡猖腕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年拆祈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倘感。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡放坏,死狀恐怖,靈堂內的尸體忽然破棺而出老玛,到底是詐尸還是另有隱情淤年,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布蜡豹,位于F島的核電站麸粮,受9級特大地震影響,放射性物質發(fā)生泄漏镜廉。R本人自食惡果不足惜弄诲,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娇唯。 院中可真熱鬧齐遵,春花似錦、人聲如沸塔插。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽佑淀。三九已至留美,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伸刃,已是汗流浹背谎砾。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捧颅,地道東北人景图。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像碉哑,于是被迫代替她去往敵國和親挚币。 傳聞我的和親對象是個殘疾皇子亮蒋,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)妆毕,斷路器慎玖,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 看著你的說說里面的評論,然后挨個的點昵稱進去看性別笛粘,心里真的不是滋味趁怔,我好想你 歐 我愛你歐
    jryc閱讀 170評論 0 0
  • 輕柔、和緩的音樂正適合這半夜0點的氛圍薪前。 我不能明白润努,為什么我的朋友和我做一樣工作的時候生活過得比我有味道的多,現(xiàn)...
    麥克斯韋L閱讀 218評論 0 0
  • 你純潔無暇 我?guī)闳タ词篱g繁華 你已厭倦爾虞我詐 我?guī)闳プD木馬 ...
    觸摸那片曙光閱讀 309評論 1 1