• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Zabbix的應(yīng)用監(jiān)控系統(tǒng)

      2018-09-20 10:47:44李曉暉
      價(jià)值工程 2018年28期

      李曉暉

      摘要:隨著信息時(shí)代持續(xù)發(fā)展,面對(duì)復(fù)雜的業(yè)務(wù)和多樣化的需求,IT應(yīng)用迅速擴(kuò)展,運(yùn)行環(huán)境也發(fā)展為分布式服務(wù)器,用戶對(duì)系統(tǒng)穩(wěn)定性提出了越來越高的要求。針對(duì)這種情況,如何有效地監(jiān)控分布在不同服務(wù)器的應(yīng)用運(yùn)行狀態(tài),在出現(xiàn)故障時(shí)及時(shí)發(fā)現(xiàn),是大多數(shù)企業(yè)必須解決的問題。文章設(shè)計(jì)了基于Zabbix的應(yīng)用監(jiān)控系統(tǒng),能夠?qū)?fù)雜部署的IT應(yīng)用進(jìn)行監(jiān)控,并具備普適性,可廣泛推廣應(yīng)用。

      Abstract: With the developing of Information Age,facing the increasing complicated work and diverse needs,the application of IT has expanded rapidly,the running environment has developed to distributed servers,and the user's equirements for the stability of IT applications are higher. In this situation,how to effectively monitor the running status of applications distributed on different servers and find out the cause when exceptions occur,it is an issue most companies need to solve urgently. A system for monitoring the applications based on Zabbix is developed,which can effectively monitor the complicated IT applications. It has good adaptability,and can be widely applied.

      關(guān)鍵詞:應(yīng)用監(jiān)控;Zabbix;IT應(yīng)用程序

      Key words: application monitoring;Zabbix;IT applications

      中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)28-0252-03

      0 引言

      隨著信息技術(shù)的迅猛發(fā)展,要處理的信息量及應(yīng)用的復(fù)雜度也在不斷增大、增強(qiáng)。越來越多的互聯(lián)網(wǎng)企業(yè)采用分布式服務(wù)器架構(gòu),不同的服務(wù)器提供不同服務(wù),或者多臺(tái)服務(wù)器進(jìn)行負(fù)載均衡,以提高系統(tǒng)的運(yùn)行速度,為用戶提供更好的體驗(yàn)[1-2]。但隨著硬件及應(yīng)用數(shù)量的大幅增加,部分服務(wù)器或應(yīng)用發(fā)生故障的可能性也隨之升高,在系統(tǒng)發(fā)生故障時(shí),人工定位發(fā)生故障的機(jī)器是不大現(xiàn)實(shí)的[3]。設(shè)計(jì)一個(gè)可靠靈活的應(yīng)用監(jiān)控系統(tǒng)是十分必要的,在故障發(fā)生時(shí)能主動(dòng)準(zhǔn)確定位故障節(jié)點(diǎn),相關(guān)信息能及時(shí)、準(zhǔn)確通知系統(tǒng)管理員。通過技術(shù)手段代替人工來進(jìn)一步落實(shí)信息運(yùn)維模式的標(biāo)準(zhǔn)化、規(guī)范化和自動(dòng)化要求是實(shí)現(xiàn)精細(xì)化運(yùn)維工作問題解決思路的重要基礎(chǔ)[4]。

      商用的系統(tǒng)監(jiān)控類軟件價(jià)格較高且不夠靈活,開源軟件則具有良好的社區(qū)支持和氛圍且插件較多,可擴(kuò)展性好的特點(diǎn)。Zabbix是一種高度集成的開源分布式網(wǎng)絡(luò)監(jiān)控解決方案[5],是企業(yè)常用的開源監(jiān)控軟件之一,有特別良好的開發(fā)文檔及中文支持,因此本監(jiān)控系統(tǒng)是基于Zabbix的基礎(chǔ)上進(jìn)行設(shè)計(jì),使用Zabbix進(jìn)行基本的軟硬件參數(shù)監(jiān)控,通過獨(dú)立模塊開發(fā)來完善本應(yīng)用監(jiān)控系統(tǒng)的功能。

      1 系統(tǒng)功能分析

      1.1 服務(wù)器監(jiān)控

      服務(wù)器監(jiān)控主要是針對(duì)服務(wù)器CPU、內(nèi)存、磁盤等硬件參數(shù)以及軟件參數(shù)的監(jiān)控,是針對(duì)IT應(yīng)用的基礎(chǔ)運(yùn)行環(huán)境的監(jiān)控,用于IT應(yīng)用在運(yùn)行過程中外部環(huán)境的實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)非IT應(yīng)用本身問題導(dǎo)致的故障。

      1.2 IT應(yīng)用監(jiān)控處理

      IT應(yīng)用監(jiān)控主要是針對(duì)IT應(yīng)用服務(wù)自身的監(jiān)控,包括應(yīng)用服務(wù)當(dāng)前運(yùn)行狀態(tài),應(yīng)用服務(wù)日志輸出有無異常,應(yīng)用中是否存在需要優(yōu)化的內(nèi)容等,在發(fā)現(xiàn)異常之后能夠自動(dòng)進(jìn)行部分簡(jiǎn)單的修復(fù)工作,如對(duì)異常掛起的應(yīng)用進(jìn)行嘗試重啟操作,并在3次嘗試失敗之后能夠?qū)⒉僮鹘Y(jié)果通知到系統(tǒng)運(yùn)維人員,從而保障IT應(yīng)用在運(yùn)行過程中出現(xiàn)異常能夠及時(shí)發(fā)現(xiàn)和處理,系統(tǒng)運(yùn)行穩(wěn)定可靠,提升用戶感知。

      1.3 監(jiān)控系統(tǒng)自監(jiān)控

      對(duì)于監(jiān)控系統(tǒng)本身相關(guān)服務(wù)運(yùn)行狀態(tài)的監(jiān)控,在出現(xiàn)異常時(shí)能夠?qū)ΡO(jiān)控系統(tǒng)做簡(jiǎn)單的自動(dòng)化處理,保障監(jiān)控系統(tǒng)的穩(wěn)定運(yùn)行,從而避免對(duì)IT應(yīng)用的監(jiān)控失效的情況。

      1.4 異常情況通知

      在監(jiān)控系統(tǒng)對(duì)IT應(yīng)用持續(xù)不間斷的監(jiān)控過程中,發(fā)現(xiàn)的異常能夠通過生成告警的形式通知系統(tǒng)的運(yùn)維人員,通知方式包括但不限于短信通知、郵件通知等多重方式,其中以郵件通知為主,將多個(gè)告警異常的信息進(jìn)行合并,一次發(fā)送。

      2 系統(tǒng)設(shè)計(jì)

      2.1 架構(gòu)設(shè)計(jì)

      該系統(tǒng)主要由服務(wù)器監(jiān)控和IT應(yīng)用監(jiān)控處理兩部分組成。服務(wù)器監(jiān)控通過Zabbix監(jiān)控方案來實(shí)現(xiàn),服務(wù)端程序是Zabbix Server,部署在應(yīng)用監(jiān)控系統(tǒng)主服務(wù)器上;客戶端是Zabbix Agentd,在所有被監(jiān)控服務(wù)器上均需要部署。IT應(yīng)用監(jiān)控發(fā)生異?;蛴行枰脩絷P(guān)注處理信息時(shí),該程序根據(jù)對(duì)應(yīng)的通知策略判斷是否需要對(duì)運(yùn)維人員進(jìn)行通知并進(jìn)行后續(xù)處理。

      被監(jiān)控的主機(jī)上需部署Zabbix客戶端程序,該程序周期性上報(bào)主機(jī)監(jiān)控結(jié)果,以及時(shí)發(fā)現(xiàn)運(yùn)行過程中發(fā)現(xiàn)的主機(jī)問題,并通過異常情況通知程序按照設(shè)置好的通知策略通知具體運(yùn)維人員;同時(shí)為保障該系統(tǒng)的穩(wěn)定運(yùn)行,增加了服務(wù)端監(jiān)測(cè)程序和客戶端監(jiān)測(cè)程序,周期性監(jiān)測(cè)服務(wù)端和客戶端程序運(yùn)行狀況,在出現(xiàn)異常時(shí)嘗試進(jìn)行自動(dòng)重啟等類似的方式進(jìn)行系統(tǒng)恢復(fù)操作。

      IT應(yīng)用監(jiān)控處理程序,負(fù)責(zé)對(duì)IT應(yīng)用進(jìn)程狀態(tài)及運(yùn)行日志進(jìn)行檢查,捕獲IT應(yīng)用運(yùn)行過程中的異常信息,同時(shí)對(duì)異常應(yīng)用做簡(jiǎn)單處理嘗試自動(dòng)恢復(fù),在處理完畢之后對(duì)應(yīng)用進(jìn)行再次檢查,并將檢查結(jié)果再次反饋至Zabbix服務(wù)端進(jìn)行后續(xù)異常情況通知等操作。

      2.2 功能模塊設(shè)計(jì)

      2.2.1 服務(wù)器監(jiān)控模塊設(shè)計(jì)

      Zabbix具有非常完備的服務(wù)器監(jiān)控方案,故本系統(tǒng)服務(wù)器監(jiān)控模塊通過Zabbix的功能來實(shí)現(xiàn)。為了能夠檢測(cè)分布在不同網(wǎng)絡(luò)的服務(wù)器主機(jī),需要Zabbix客戶端以主動(dòng)式的方式運(yùn)行,同時(shí)確保監(jiān)控系統(tǒng)主服務(wù)器可被Zabbix客戶端通過IP尋址。Zabbix客戶端在運(yùn)行時(shí),會(huì)周期性的向Zabbix服務(wù)端請(qǐng)求需監(jiān)控項(xiàng)目,之后通過10051端口將采集到的監(jiān)控?cái)?shù)據(jù)傳送給Zabbix服務(wù)端。

      2.2.2 IT應(yīng)用監(jiān)控模塊設(shè)計(jì)

      IT應(yīng)用監(jiān)控處理程序,不依賴于Zabbix自身功能,相對(duì)獨(dú)立,主要負(fù)責(zé)對(duì)IT應(yīng)用自身的監(jiān)控,監(jiān)控的內(nèi)容包括進(jìn)程是否存活、日志刷新是否正常、日志中是否存在錯(cuò)誤關(guān)鍵字等。該程序有基礎(chǔ)的系統(tǒng)自愈能力,能夠自動(dòng)進(jìn)行部分簡(jiǎn)單的操作嘗試對(duì)異常自行恢復(fù)。(圖2)

      2.2.3 監(jiān)控系統(tǒng)自監(jiān)控模塊設(shè)計(jì)

      監(jiān)控系統(tǒng)自監(jiān)控模塊用于保障Zabbix服務(wù)端和客戶端程序的正常運(yùn)行,并且在檢查到程序沒有運(yùn)行時(shí),會(huì)自動(dòng)嘗試啟動(dòng)程序。由于需要監(jiān)控的內(nèi)容包括Zabbix服務(wù)端和客戶端,實(shí)際上該模塊包括兩部分程序。

      ①Zabbix服務(wù)端監(jiān)控程序。

      由于Zabbix服務(wù)端程序僅能在Linux平臺(tái)運(yùn)行,在此通過編寫Shell腳本檢查Zabbix服務(wù)端口開啟狀態(tài),從而判斷Zabbix服務(wù)端的運(yùn)行狀態(tài),在檢測(cè)到Zabbix服務(wù)端未運(yùn)行時(shí)嘗試再次啟動(dòng)服務(wù)端程序。由于對(duì)于服務(wù)端的檢查需要周期性進(jìn)行,在此通過Linux平臺(tái)的Crontab程序來實(shí)現(xiàn)。

      ②Zabbix客戶端監(jiān)控程序。

      Zabbix客戶端與Zabbix服務(wù)端的監(jiān)控程序設(shè)計(jì)思路類似。與服務(wù)端監(jiān)控不同的是,Zabbix客戶端還可以運(yùn)行在Windows平臺(tái)上。Linux平臺(tái)的Zabbix客戶端監(jiān)控實(shí)現(xiàn)和服務(wù)端一致;在Windows操作系統(tǒng)中,Zabbix客戶端的運(yùn)行狀態(tài)檢查通過批處理腳本進(jìn)行,客戶端的周期性檢查通過操作系統(tǒng)的任務(wù)計(jì)劃進(jìn)行。

      3 系統(tǒng)功能實(shí)現(xiàn)

      3.1 服務(wù)器監(jiān)控模塊功能實(shí)現(xiàn)

      服務(wù)器的監(jiān)控功能通過Zabbix提供的解決方案來實(shí)現(xiàn),該方案是在應(yīng)用監(jiān)控系統(tǒng)主服務(wù)器上安裝Zabbix服務(wù)端,被監(jiān)控主機(jī)安裝Zabbix客戶端,并配置Zabbix客戶端工作方式為主動(dòng)式監(jiān)控,配置參數(shù)是StartAgents,數(shù)值配置為0,以禁用被動(dòng)模式。工作流程如圖3。

      3.2 IT應(yīng)用監(jiān)控功能實(shí)現(xiàn)

      IT應(yīng)用監(jiān)控的目的是及時(shí)發(fā)現(xiàn)應(yīng)用運(yùn)行過程中出現(xiàn)的問題,并對(duì)運(yùn)行狀態(tài)數(shù)據(jù)進(jìn)行收集和整理,為IT應(yīng)用系統(tǒng)的后續(xù)優(yōu)化提供資料參考。該功能通過perl腳本開發(fā),使用mysql數(shù)據(jù)庫存儲(chǔ)檢查結(jié)果數(shù)據(jù),具體實(shí)現(xiàn)方式采用perl腳本調(diào)用系統(tǒng)命令的方式,目前通過該功能從以下方面監(jiān)控IT應(yīng)用的實(shí)時(shí)運(yùn)行狀態(tài):

      ①應(yīng)用進(jìn)程監(jiān)控:判斷應(yīng)用進(jìn)程是否存在,用于基礎(chǔ)的判斷,并在發(fā)現(xiàn)進(jìn)程不存在之后自動(dòng)對(duì)應(yīng)用進(jìn)行重啟,確保應(yīng)用進(jìn)程是正在運(yùn)行的狀態(tài)。

      ②應(yīng)用日志刷新監(jiān)控:對(duì)應(yīng)用產(chǎn)生的日志最后更新時(shí)間進(jìn)行檢查,并根據(jù)預(yù)定的策略判斷應(yīng)用是否出現(xiàn)長(zhǎng)時(shí)間未刷新,應(yīng)用是否出現(xiàn)線程耗盡等情況,避免出現(xiàn)應(yīng)用進(jìn)程存在但實(shí)際已無法響應(yīng)和對(duì)外提供服務(wù)的情況。

      ③應(yīng)用日志關(guān)鍵字監(jiān)控:對(duì)應(yīng)用日志內(nèi)容進(jìn)行檢查,判斷最新的日志信息中是否有應(yīng)用產(chǎn)生的錯(cuò)誤信息,應(yīng)用是否已經(jīng)出現(xiàn)嚴(yán)重錯(cuò)誤需要重啟或者換人工干預(yù)的情況;應(yīng)用運(yùn)行過程中是否存在性能低下需要優(yōu)化的情況等,并對(duì)該部分信息進(jìn)行記錄。

      3.3 監(jiān)控系統(tǒng)自監(jiān)控功能實(shí)現(xiàn)

      3.3.1 Zabbix服務(wù)端監(jiān)控程序

      通過編寫shell腳本,監(jiān)測(cè)本機(jī)的10050端口是否處于開啟狀態(tài)。如果沒有,則判斷為Zabbix服務(wù)端未運(yùn)行,則使用服務(wù)啟動(dòng)命令嘗試啟動(dòng)該服務(wù)。在完成shell腳本功能驗(yàn)證之后,為保證該監(jiān)控能夠周期性執(zhí)行,需要將該腳本執(zhí)行任務(wù)配置到Crontab列表中,如下所示為每5分鐘執(zhí)行一次:

      */5 * * * * /home/sysMonitor/monitor/host_monitor.sh

      3.3.2 Zabbix客戶端監(jiān)控程序

      Zabbix客戶端監(jiān)控程序需要支持Linux平臺(tái)和Windows平臺(tái),其中Linux平臺(tái)的監(jiān)控程序和Zabbix服務(wù)端監(jiān)控程序一致,同樣是監(jiān)控本機(jī)的10050端口是否開啟來實(shí)現(xiàn);Windows平臺(tái)的監(jiān)控程序通過批處理腳本實(shí)現(xiàn),判斷服務(wù)運(yùn)行狀態(tài),并在出現(xiàn)異常時(shí)自動(dòng)重啟服務(wù),批處理腳本的周期執(zhí)行通過系統(tǒng)的任務(wù)計(jì)劃配置,在系統(tǒng)啟動(dòng)時(shí)開始執(zhí)行,每5分鐘執(zhí)行一次。

      3.4 異常情況通知功能實(shí)現(xiàn)

      3.4.1 短信通知程序

      短信發(fā)送通常通過向第三方URL發(fā)送GET/POST請(qǐng)求,請(qǐng)求中包含用戶認(rèn)證和短信內(nèi)容等信息實(shí)現(xiàn)的,不同第三方會(huì)有所區(qū)別。本系統(tǒng)則是通過調(diào)用第三方系統(tǒng)已經(jīng)實(shí)現(xiàn)的短信發(fā)送Web服務(wù)接口,從而實(shí)現(xiàn)短信的發(fā)送。

      3.4.2 郵件通知程序

      郵件通知程序通常采用TCP連接SNMP郵件服務(wù)器發(fā)送郵件。本系統(tǒng)使用C#語言通過.NET中的MailMessage類來實(shí)現(xiàn)郵件發(fā)送功能。

      4 結(jié)束語

      隨著服務(wù)器數(shù)量增長(zhǎng)和應(yīng)用復(fù)雜度的增加,傳統(tǒng)的以純?nèi)斯橹鞯倪\(yùn)維方式已不再適用,而通過應(yīng)用監(jiān)控系統(tǒng)則成為了當(dāng)前的一種趨勢(shì)。文中基于Zabbix設(shè)計(jì)的應(yīng)用監(jiān)控系統(tǒng),運(yùn)行高效,穩(wěn)定可靠,自動(dòng)化程度高,有效提升了IT應(yīng)用的運(yùn)維效率,減少了對(duì)于人員能力和數(shù)量的嚴(yán)重依賴性,具有良好的普適性。

      參考文獻(xiàn):

      [1]吳夫丹.基于云平臺(tái)的服務(wù)器監(jiān)控系統(tǒng)設(shè)計(jì)[D].西安:西安工業(yè)大學(xué),2014.

      [2]董波,沈青,肖德寶.云計(jì)算集群服務(wù)器系統(tǒng)監(jiān)控方法的研究[J].計(jì)算機(jī)工程與科學(xué),2012,34(10):68-72.

      [3]朱瑞斌.服務(wù)器集群監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2015.

      [4]程明,李凡.基于開放架構(gòu)的信息系統(tǒng)運(yùn)維監(jiān)控輔助支持系統(tǒng)關(guān)鍵技術(shù)研究與應(yīng)用[C]// 2013電力行業(yè)信息化年會(huì)論文集,2013.

      [5]VLADISHEV A. Zabbix: an enterprise-class open source distributed monitoring solution[EB/OL]. http://www. zabbix. com/[Accessed: 21-Juli-2010], 2007.

      德江县| 宁化县| 鄂托克旗| 通州市| 桃园市| 彝良县| 道孚县| 错那县| 安仁县| 阿克苏市| 商水县| 连山| 临邑县| 大连市| 江油市| 闽侯县| 安平县| 花莲市| 灌南县| 介休市| 昌乐县| 阿拉善左旗| 濮阳市| 临城县| 木兰县| 忻城县| 二连浩特市| 台山市| 遂川县| 海伦市| 威海市| 福州市| 永登县| 常州市| 台南县| 清原| 蒲江县| 嘉黎县| 讷河市| 德江县| 龙江县|