Python利用Nagios增加微信報(bào)警通知的功能
Nagios是一款開(kāi)源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。
Nagios是調(diào)用微信公共平臺(tái)的api接口發(fā)送報(bào)警郵件。在正式操作之前,有幾個(gè)準(zhǔn)備工作要做。先安裝nagios,可以使用我提供的nagios一鍵安裝腳本。然后是去微信公共平臺(tái)申請(qǐng)一個(gè)企業(yè)號(hào),我申請(qǐng)時(shí)填的是組織,沒(méi)有認(rèn)證也可以使用。最后登錄公共平臺(tái)添加通訊錄,和新建應(yīng)用(例如nagios),記錄應(yīng)用的id后面要用。用戶(hù)權(quán)限什么自己設(shè)定。
微信腳本
nagios和微信平臺(tái)都準(zhǔn)備好之后,接下來(lái)下載微信命令腳本。右鍵點(diǎn)擊 下載 ,保存。然后上傳到nagios服務(wù)器,例如/usr/local/nagios/python/weixin目錄,設(shè)置文件權(quán)限為可執(zhí)行。在/usr/local/nagios/python/weixin目錄新建config.py文件,添加如下配置。
#coding:utf-8 CorpID='xxxxx' Secret='xxxxxxxxxxxxxxxxx' DEBUG=0 ToUser='sijitao.net' AgentId=1
其中CorpID和Secret這兩個(gè)可以通過(guò)登錄微信公共平臺(tái),打開(kāi)添加的應(yīng)用(例如nagios)獲取。
微信腳本命令傳遞的參數(shù)通過(guò)“-@@-”符號(hào)來(lái)分割,詳細(xì)說(shuō)明可以參考我的github地址:https://github.com/zhangnq/nagios/tree/master/weixin
Nagios配置
下面就是nagios上的常規(guī)配置。
commands.cfg命令文件中添加weixin命令:
define command{ command_name notify-host-by-weixin command_line /usr/local/nagios/python/weixin/NotifyByWeixin.py "host-@@-$NOTIFICATIONTYPE$-@@-$HOSTNAME$-@@-$HOSTSTATE$-@@-$HOSTADDRESS$-@@-$HOSTOUTPUT$-@@-$CONTACTALIAS$" } define command{ command_name notify-service-by-weixin command_line /usr/local/nagios/python/weixin/NotifyByWeixin.py "service-@@-$NOTIFICATIONTYPE$-@@-$SERVICEDESC$-@@-$HOSTALIAS$-@@-$HOSTADDRESS$-@@-$SERVICESTATE$-@@-$SERVICEOUTPUT$-@@-$CONTACTALIAS$" }
templates.cfg模板文件中添加聯(lián)系人模板:
define contact{ name weixin-contact service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-weixin host_notification_commands notify-host-by-weixin register 0 }
contacts.cfg聯(lián)系人中添加微信通知聯(lián)系人,這里alias名字要和微信公共平臺(tái)通訊錄中名字帳號(hào)一樣才會(huì)發(fā)送成功。
define contact{ contact_name zhangnq-weixin use weixin-contact alias zhangnq email admin@sijitao.net }
最后在配置service的時(shí)候添加zhangnq-weixin這個(gè)聯(lián)系人后就可以通過(guò)微信發(fā)送報(bào)警郵件了。
關(guān)于小編給大家分享的Python利用Nagios增加微信報(bào)警通知的功能就給大家介紹這么多,希望對(duì)大家有所幫助。
- Python版微信紅包分配算法
- Python微信庫(kù):itchat的用法詳解
- python基于itchat實(shí)現(xiàn)微信群消息同步機(jī)器人
- Python+微信接口實(shí)現(xiàn)運(yùn)維報(bào)警
- python實(shí)現(xiàn)微信接口(itchat)詳細(xì)介紹
- python3操作微信itchat實(shí)現(xiàn)發(fā)送圖片
- 基于python實(shí)現(xiàn)微信模板消息
- Python使用微信SDK實(shí)現(xiàn)的微信支付功能示例
- 利用python微信庫(kù)itchat實(shí)現(xiàn)微信自動(dòng)回復(fù)功能
- 利用Python開(kāi)發(fā)微信支付的注意事項(xiàng)
- python爬蟲(chóng)_微信公眾號(hào)推送信息爬取的實(shí)例
- Python實(shí)現(xiàn)的微信紅包提醒功能示例
相關(guān)文章
Python+matplotlib實(shí)現(xiàn)填充螺旋實(shí)例
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)填充螺旋實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01mAP計(jì)算目標(biāo)檢測(cè)精確度實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了mAP計(jì)算目標(biāo)檢測(cè)精確度的實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python按比例隨機(jī)切分?jǐn)?shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了python按比例隨機(jī)切分?jǐn)?shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Django ORM filter() 的運(yùn)用詳解
這篇文章主要介紹了Django ORM filter() 的運(yùn)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python的Django框架下管理站點(diǎn)的基本方法
這篇文章主要介紹了Python的Django框架下管理站點(diǎn)的基本方法,需是Django站點(diǎn)部署的基礎(chǔ),要的朋友可以參考下2015-07-07Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python通過(guò)OpenCV實(shí)現(xiàn)圖像的一些基本處理操作的方法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下2023-04-04PyPDF2讀取PDF文件內(nèi)容保存到本地TXT實(shí)例
這篇文章主要介紹了PyPDF2讀取PDF文件內(nèi)容保存到本地TXT實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python 稀疏矩陣-sparse 存儲(chǔ)和轉(zhuǎn)換
這篇文章主要介紹了Python 稀疏矩陣-sparse 存儲(chǔ)和轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2017-05-05