說到運(yùn)維報(bào)警,我覺得都可以寫個(gè)長(zhǎng)篇?dú)v史來詳細(xì)解釋了報(bào)警的前世來生,比如最早報(bào)警都是用郵件,但郵件實(shí)時(shí)性不高,比如下班回家總不能人一直盯著郵箱吧,所以郵件這種報(bào)警方式不適合用來報(bào)緊急的故障,日常磁盤利用率監(jiān)控什么的可以用它來報(bào)沒問題,網(wǎng)站宕機(jī)不能訪問這種故障,用它就明顯不合適了,那對(duì)這種業(yè)務(wù)穩(wěn)定性要求比較高的業(yè)務(wù),后來就發(fā)展成了用短信,就是公司買個(gè)短信機(jī),提供一個(gè)http接口,然后運(yùn)維人員寫腳本把收集到的異常數(shù)據(jù)寫入文件,然后腳本實(shí)時(shí)檢測(cè)如果這個(gè)文件不為空,就調(diào)用短信機(jī)接口把文件里的內(nèi)容發(fā)送出去,這種短信的報(bào)警方式持續(xù)了幾年,現(xiàn)在轉(zhuǎn)眼到了移動(dòng)端時(shí)代,隨著微信的橫空出世,這種短信的方式現(xiàn)在也在慢慢轉(zhuǎn)變了,為啥呢?最簡(jiǎn)單的1條,因?yàn)檫@玩意有成本,用不是白用的,每月就要交短信費(fèi)的,如果你說這短信費(fèi)用能有多少,1條不就1毛嗎,但你想想如果機(jī)器規(guī)模發(fā)展到上萬臺(tái)的公司,每臺(tái)服務(wù)器按照按從底層硬件監(jiān)控、系統(tǒng)層監(jiān)控、應(yīng)用層這三個(gè)維度去部署監(jiān)控腳本,這里每項(xiàng)都又分為N個(gè)細(xì)小項(xiàng),可想而知每天發(fā)的短信數(shù)會(huì)多么恐怖,當(dāng)然了這驚人的數(shù)據(jù)里還有一部分是無效報(bào)警,但一樣得付錢呀,每月領(lǐng)導(dǎo)批錢的時(shí)候都會(huì)被報(bào)警短信數(shù)量所震驚,然后感嘆一下就回復(fù)了OK,所以說在沒有更好的方法前,這種方式有成本但為了業(yè)務(wù)穩(wěn)定也必須要投入,但現(xiàn)在微信來了,直接宣布利用我這個(gè)平臺(tái)發(fā)消息免費(fèi),因?yàn)榻K端還是手機(jī),及時(shí)性又沒有降低,成本又沒有,沒有不用的道理,所以這篇咱們就來看看如何調(diào)微信接口來實(shí)現(xiàn)日常運(yùn)維消息的報(bào)警。
首先,你要去注冊(cè)一個(gè)微信企業(yè)號(hào),地址是:https://qy.weixin.qq.com/cgi-bin/loginpage
注冊(cè)過程如果是為企業(yè)使用要選擇企業(yè),然后上傳企業(yè)的資質(zhì)證明,如果是個(gè)人注冊(cè),選擇團(tuán)隊(duì),然后輸入自己的身份證號(hào)即可完成注冊(cè),其它關(guān)鍵步驟在注冊(cè)過程中已經(jīng)提示的很清楚了,比如企業(yè)號(hào)的名字不能修改等。
注冊(cè)完進(jìn)入第二步,在應(yīng)用中心新建一個(gè)應(yīng)用,例如:運(yùn)維報(bào)警,然后在設(shè)置–功能設(shè)置–權(quán)限管理中點(diǎn)擊左邊的運(yùn)維報(bào)警應(yīng)用,在右邊會(huì)出現(xiàn)CorpID和Secret,這個(gè)要記好,腳本中會(huì)用到,然后“應(yīng)用權(quán)限“”選擇運(yùn)維報(bào)警這個(gè)應(yīng)用,“”通訊錄權(quán)限“”選擇可讀,到這里企業(yè)號(hào)的在平臺(tái)上的設(shè)置完畢,接下來進(jìn)入代碼步驟。
平臺(tái)上都設(shè)置好了,怎么才能發(fā)信息呢,這就要使用python去調(diào)用發(fā)消息的接口了,要給微信企業(yè)號(hào)發(fā)消息,首先要獲得一個(gè)token,這個(gè)是平臺(tái)提供給的,獲得了這個(gè)token后才能發(fā)消息,所以我們的腳本分2部分,第一要獲取token,第二是發(fā)消息,代碼如下:
#! /usr/bin/env python import requests import json def get_token(): url='https://qyapi.weixin.qq.com/cgi-bin/gettoken' values = {'corpid' : 'your corpid' , 'corpsecret':'your corpsecret', } req = requests.post(url, params=values) data = json.loads(req.text) return data["access_token"] def send_msg(): url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+get_token() values = """{"touser" : "1" , "toparty":"1", "msgtype":"text", "agentid":"1", "text":{ "content": "%s" }, "safe":"0" }""" %(str("10.1.1.8 is down")) data = json.loads(values) req = requests.post(url, values) if __name__ == '__main__': send_msg()
腳本用到了第三方模塊requests,? 這個(gè)模塊要比python標(biāo)準(zhǔn)模塊urllib,urllib2,更為簡(jiǎn)潔,可以直接用get(), post(),put(), delete(), head() ,options(),方法對(duì)url操作,json模塊就是來解析返回的json串,轉(zhuǎn)成python可操作的數(shù)據(jù)類型,關(guān)于如何調(diào)用微信發(fā)消息這篇就寫到這里,歡迎大家留言交流。
更多Python+微信接口實(shí)現(xiàn)運(yùn)維報(bào)警相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)