• <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
            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345


            專注即時通訊及網游服務端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標準模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉載,并在文章開頭給出了原文出處,如有再轉,敬請保留相關信息,這是大家對原創作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 216773
            • 排名 - 118

            最新評論

            閱讀排行榜

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

            說到運維報警,我覺得都可以寫個長篇歷史來詳細解釋了報警的前世來生,比如最早報警都是用郵件,但郵件實時性不高,比如下班回家總不能人一直盯著郵箱吧,所以郵件這種報警方式不適合用來報緊急的故障,日常磁盤利用率監控什么的可以用它來報沒問題,網站宕機不能訪問這種故障,用它就明顯不合適了,那對這種業務穩定性要求比較高的業務,后來就發展成了用短信,就是公司買個短信機,提供一個http接口,然后運維人員寫腳本把收集到的異常數據寫入文件,然后腳本實時檢測如果這個文件不為空,就調用短信機接口把文件里的內容發送出去,這種短信的報警方式持續了幾年,現在轉眼到了移動端時代,隨著微信的橫空出世,這種短信的方式現在也在慢慢轉變了,為啥呢?最簡單的1條,因為這玩意有成本,用不是白用的,每月就要交短信費的,如果你說這短信費用能有多少,1條不就1毛嗎,但你想想如果機器規模發展到上萬臺的公司,每臺服務器按照按從底層硬件監控、系統層監控、應用層這三個維度去部署監控腳本,這里每項都又分為N個細小項,可想而知每天發的短信數會多么恐怖,當然了這驚人的數據里還有一部分是無效報警,但一樣得付錢呀,每月領導批錢的時候都會被報警短信數量所震驚,然后感嘆一下就回復了OK,所以說在沒有更好的方法前,這種方式有成本但為了業務穩定也必須要投入,但現在微信來了,直接宣布利用我這個平臺發消息免費,因為終端還是手機,及時性又沒有降低,成本又沒有,沒有不用的道理,所以這篇咱們就來看看如何調微信接口來實現日常運維消息的報警。

            首先,你要去注冊一個微信企業號,地址是:https://qy.weixin.qq.com/cgi-bin/loginpage

            注冊過程如果是為企業使用要選擇企業,然后上傳企業的資質證明,如果是個人注冊,選擇團隊,然后輸入自己的身份證號即可完成注冊,其它關鍵步驟在注冊過程中已經提示的很清楚了,比如企業號的名字不能修改等。

            注冊完進入第二步,在應用中心新建一個應用,例如:運維報警,然后在設置–功能設置–權限管理中點擊左邊的運維報警應用,在右邊會出現CorpID和Secret,這個要記好,腳本中會用到,然后“應用權限“”選擇運維報警這個應用,“”通訊錄權限“”選擇可讀,到這里企業號的在平臺上的設置完畢,接下來進入代碼步驟。

             

            平臺上都設置好了,怎么才能發信息呢,這就要使用python去調用發消息的接口了,要給微信企業號發消息,首先要獲得一個token,這個是平臺提供給的,獲得了這個token后才能發消息,所以我們的腳本分2部分,第一要獲取token,第二是發消息,代碼如下:

            #! /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,  這個模塊要比python標準模塊urllib,urllib2,更為簡潔,可以直接用get(), post(),put(), delete(), head() ,options(),方法對url操作,json模塊就是來解析返回的json串,轉成python可操作的數據類型,關于如何調用微信發消息這篇就寫到這里,歡迎大家留言交流。

            相關文章

             

            微信報警 zabbix實現詳解

             

            現實生產環境中,我們通常使用郵件和短信接受zabbix報警信息,但是郵件經常被工作人員擱置在角落中甚至被設置為垃圾郵件被過濾掉。公司的短信接口又太貴,復雜環境中使用短息報警會使運維成本增加很多。微信提供了很好的第三方接口,我們可以利用微信報警以求降低運維成本。

                   微信的第三方接口要求我們先申請一個企業號——傳送門:https://qy.weixin.qq.com/

            如何操作企業號?    

            1.通訊錄添加企業成員

                       我們要提前把成員信息添加進組織部門,必填項+手機號或者微信號,這樣別人掃描二維碼的時候才能成功關注企業號。

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

            2.應用中心創建應用

                       我們要在這里創建應用,因為要通過應用發送消息給部門成員

                       注意:這里要記住一個值,應用ID

            3.給部門設置管理員

                      設置--->功能設置---->權限管理---->新建管理組

                      管理員必須事先已經關注了企業號,并且已經設置好郵箱地址

                     確定管理員可以讀取通訊錄,可以使用應用發消息。

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

            我們要準備這些東西:

                一個微信企業號

                企業號已經被部門成員關注

                企業號里有一個可以發消息的應用

                一個授權管理員,可以使用該應用給成員發消息

            我們要取到這些信息:

                成員賬號

                組織部門ID

                應用ID

                CropID

                Secret

            如何調用微信接口?

                   調用微信接口需要一個調用接口的憑證:access_token

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

                    微信企業號接口調試工具傳送門:http://qydev.weixin.qq.com/debug

            Shell腳本原理

                    使用:

                    curl -s -G  url           獲取 AccessToken

                    使用:

                    curl --data  url     傳送憑證調用企業號接口

             

                    zabbix會傳遞三個參數給腳本,$1是消息接收賬號,$2報警標題,$3報警內容

            #!/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            企業號中的應用id 
                local UserID=$1             部門成員id,zabbix中定義的微信接收者 
                local PartyID=1             部門id,定義了范圍,組內成員都可接收到消息 
                local Msg=$(echo "$@" | cut -d" " -f3-) 過濾出zabbix中傳遞的第三個參數 
                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

            為什么要這樣寫腳本?

                  因為微信企業號開放的端口有固定的格式限制

                  企業號支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title=消息類型及數據格式

            將腳本放入zabbix默認執行路徑下

            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

                    服務器端

                   1.創建媒介

                    2.創建用戶


                    3.創建觸發器動作發送內容

                    4.設置觸發器動作發送方式

            收到的微信消息:

             

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

            以上就是微信報警 zabbix 的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

            posted on 2017-03-16 16:48 思月行云 閱讀(584) 評論(0)  編輯 收藏 引用 所屬分類: Python 、服務器\Ops
            久久久久亚洲AV片无码下载蜜桃| 久久综合亚洲色HEZYO社区| 国产成人精品综合久久久| 99久久99久久精品国产片果冻| 久久婷婷国产剧情内射白浆| 亚洲va中文字幕无码久久| 久久国产色AV免费看| 精品久久久久久久久久中文字幕 | 久久精品无码一区二区三区免费| 日本加勒比久久精品| 国产精品99精品久久免费| 国产亚洲精午夜久久久久久| 亚洲欧美伊人久久综合一区二区| 久久香蕉综合色一综合色88| 亚洲AV日韩精品久久久久| 精品无码久久久久久久久久| 久久人人爽人人爽人人片av高请| 久久99热这里只有精品国产| 久久伊人精品一区二区三区| 久久国产精品偷99| 国产精品久久久久9999| 久久久亚洲裙底偷窥综合| 国产福利电影一区二区三区,免费久久久久久久精 | 久久天堂电影网| 久久精品国产免费观看| 久久这里有精品视频| 91超碰碰碰碰久久久久久综合| 久久国产欧美日韩精品| 欧美亚洲色综久久精品国产| 久久久精品国产| 无码任你躁久久久久久老妇| 国产亚洲成人久久| 精品无码久久久久久久动漫| 99久久国产综合精品成人影院| 狠狠色丁香久久综合婷婷| 久久天天躁狠狠躁夜夜躁2O2O | 久久综合给久久狠狠97色| 久久久久久精品免费看SSS| 无码国内精品久久人妻麻豆按摩| 国产成人无码精品久久久久免费 | 国内精品久久久久影院一蜜桃 |