• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2016年8月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910


            專注即時(shí)通訊及網(wǎng)游服務(wù)端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標(biāo)準(zhǔn)模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉(zhuǎn)載,并在文章開頭給出了原文出處,如有再轉(zhuǎn),敬請(qǐng)保留相關(guān)信息,這是大家對(duì)原創(chuàng)作者勞動(dòng)成果的自覺尊重??!如為您帶來不便,請(qǐng)于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊(cè)

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 219196
            • 排名 - 117

            最新評(píng)論

            閱讀排行榜

            http://www.jb51.net/article/91372.htm

            說到運(yùn)維報(bào)警,我覺得都可以寫個(gè)長篇?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í)檢測如果這個(gè)文件不為空,就調(diào)用短信機(jī)接口把文件里的內(nèi)容發(fā)送出去,這種短信的報(bào)警方式持續(xù)了幾年,現(xiàn)在轉(zhuǎn)眼到了移動(dòng)端時(shí)代,隨著微信的橫空出世,這種短信的方式現(xiàn)在也在慢慢轉(zhuǎ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,更為簡潔,可以直接用get(), post(),put(), delete(), head() ,options(),方法對(duì)url操作,json模塊就是來解析返回的json串,轉(zhuǎn)成python可操作的數(shù)據(jù)類型,關(guān)于如何調(diào)用微信發(fā)消息這篇就寫到這里,歡迎大家留言交流。

            相關(guān)文章

             

            微信報(bào)警 zabbix實(shí)現(xiàn)詳解

             

            現(xiàn)實(shí)生產(chǎn)環(huán)境中,我們通常使用郵件和短信接受zabbix報(bào)警信息,但是郵件經(jīng)常被工作人員擱置在角落中甚至被設(shè)置為垃圾郵件被過濾掉。公司的短信接口又太貴,復(fù)雜環(huán)境中使用短息報(bào)警會(huì)使運(yùn)維成本增加很多。微信提供了很好的第三方接口,我們可以利用微信報(bào)警以求降低運(yùn)維成本。

                   微信的第三方接口要求我們先申請(qǐng)一個(gè)企業(yè)號(hào)——傳送門:https://qy.weixin.qq.com/

            如何操作企業(yè)號(hào)?    

            1.通訊錄添加企業(yè)成員

                       我們要提前把成員信息添加進(jìn)組織部門,必填項(xiàng)+手機(jī)號(hào)或者微信號(hào),這樣別人掃描二維碼的時(shí)候才能成功關(guān)注企業(yè)號(hào)。

                       注意:這里有兩個(gè)我們要用到信息,一個(gè)組織部門的ID,一個(gè)部門成員的賬號(hào)(賬號(hào)是自己手動(dòng)指定的,不同于微信號(hào),最好是字母加數(shù)字)

            2.應(yīng)用中心創(chuàng)建應(yīng)用

                       我們要在這里創(chuàng)建應(yīng)用,因?yàn)橐ㄟ^應(yīng)用發(fā)送消息給部門成員

                       注意:這里要記住一個(gè)值,應(yīng)用ID

            3.給部門設(shè)置管理員

                      設(shè)置--->功能設(shè)置---->權(quán)限管理---->新建管理組

                      管理員必須事先已經(jīng)關(guān)注了企業(yè)號(hào),并且已經(jīng)設(shè)置好郵箱地址

                     確定管理員可以讀取通訊錄,可以使用應(yīng)用發(fā)消息。

                     注意:我們需要管理員的CorpID和Secret

            我們要準(zhǔn)備這些東西:

                一個(gè)微信企業(yè)號(hào)

                企業(yè)號(hào)已經(jīng)被部門成員關(guān)注

                企業(yè)號(hào)里有一個(gè)可以發(fā)消息的應(yīng)用

                一個(gè)授權(quán)管理員,可以使用該應(yīng)用給成員發(fā)消息

            我們要取到這些信息:

                成員賬號(hào)

                組織部門ID

                應(yīng)用ID

                CropID

                Secret

            如何調(diào)用微信接口?

                   調(diào)用微信接口需要一個(gè)調(diào)用接口的憑證:access_token

                   通過 :CropID 、Secret  才能獲取到access_token,但是獲取到的token有效期為兩分鐘

                    微信企業(yè)號(hào)接口調(diào)試工具傳送門:http://qydev.weixin.qq.com/debug

            Shell腳本原理

                    使用:

                    curl -s -G  url           獲取 AccessToken

                    使用:

                    curl --data  url     傳送憑證調(diào)用企業(yè)號(hào)接口

             

                    zabbix會(huì)傳遞三個(gè)參數(shù)給腳本,$1是消息接收賬號(hào),$2報(bào)警標(biāo)題,$3報(bào)警內(nèi)容

            #!/bin/bash 
            ###SCRIPT_NAME:weixin.sh### 
            ###send message from weixin for zabbix monitor### 
            ###wuhf### 
            ###V1-2015-08-25### 
              
            CropID=‘xxxxxx‘ 
            Secret=‘xxxxxx‘ 
            GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" 
            Gtoken=$(/usr/bin/curl --G $GURL | awk -F\" ‘{print $4}‘) 
              
            PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
              
            function body() { 
                local int AppID=3            企業(yè)號(hào)中的應(yīng)用id 
                local UserID=$1             部門成員id,zabbix中定義的微信接收者 
                local PartyID=1             部門id,定義了范圍,組內(nèi)成員都可接收到消息 
                local Msg=$(echo "$@" | cut -d" " -f3-) 過濾出zabbix中傳遞的第三個(gè)參數(shù) 
                printf ‘{\n‘ 
                printf ‘\t"touser"""$User"\"",\n" 
                printf ‘\t"toparty"""$PartyID"\"",\n" 
                printf ‘\t"msgtype""text",\n‘ 
                printf ‘\t"agentid""" $AppID "\"",\n" 
                printf ‘\t"text": {\n‘ 
                printf ‘\t\t"content"""$Msg"\""\n" 
                printf ‘\t},\n‘ 
                printf ‘\t"safe":"0"\n‘ 
                printf ‘}\n‘ 

            /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

            為什么要這樣寫腳本?

                  因?yàn)槲⑿牌髽I(yè)號(hào)開放的端口有固定的格式限制

                  企業(yè)號(hào)支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title=消息類型及數(shù)據(jù)格式

            將腳本放入zabbix默認(rèn)執(zhí)行路徑下

            mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts
            chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
            chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

                    服務(wù)器端

                   1.創(chuàng)建媒介

                    2.創(chuàng)建用戶


                    3.創(chuàng)建觸發(fā)器動(dòng)作發(fā)送內(nèi)容

                    4.設(shè)置觸發(fā)器動(dòng)作發(fā)送方式

            收到的微信消息:

             

            本文出自 “銅鑼灣” 博客,請(qǐng)務(wù)必保留此出處http://wuhf2015.blog.51cto.com/8213008/1688614

            以上就是微信報(bào)警 zabbix 的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!

            posted on 2017-03-16 16:48 思月行云 閱讀(597) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Python服務(wù)器\Ops
            久久亚洲高清综合| 亚洲伊人久久大香线蕉综合图片| 久久青草国产精品一区| 成人亚洲欧美久久久久| 久久夜色精品国产亚洲| 伊人久久大香线蕉精品| 久久这里有精品| 久久精品国产半推半就| 亚洲综合伊人久久综合| 国产精自产拍久久久久久蜜| 亚洲国产精品无码久久| 热综合一本伊人久久精品| 欧美777精品久久久久网| 亚洲va久久久噜噜噜久久天堂| 久久久久久极精品久久久| 国产精品久久久天天影视| 亚洲精品无码久久久影院相关影片| 久久久久人妻精品一区三寸蜜桃| 久久er99热精品一区二区| 久久精品国产亚洲AV久| 久久er国产精品免费观看8| 久久国产精品成人免费| 亚洲国产精品18久久久久久| 久久久久这里只有精品 | 亚洲?V乱码久久精品蜜桃 | 2021国产成人精品久久| 久久久久亚洲av综合波多野结衣| 99久久国产综合精品五月天喷水 | 97久久国产露脸精品国产| 人妻无码精品久久亚瑟影视| 91麻精品国产91久久久久| 国内精品伊人久久久久| 久久久久亚洲Av无码专| 亚洲AV成人无码久久精品老人| 久久精品成人欧美大片| 国色天香久久久久久久小说| 日产精品久久久久久久| 久久免费看黄a级毛片| 亚洲精品无码久久一线| 久久久久无码精品国产| 国产精品久久永久免费|