物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)    溫小斌摘  要: 傳統(tǒng)監(jiān)控軟件不滿足物聯(lián)網(wǎng)系統(tǒng)的運(yùn)維需求,為了彌補(bǔ)其不足之處,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)面向物聯(lián)網(wǎng)的自動(dòng)化監(jiān)控系統(tǒng)。除了常規(guī)的服務(wù)器性能指標(biāo)以外,還能監(jiān)控設(shè)備連接數(shù)、mqtt服務(wù)響應(yīng)時(shí)間、coap服務(wù)響應(yīng)時(shí)間等物聯(lián)網(wǎng)系統(tǒng)特有的指標(biāo)。監(jiān)控系統(tǒng)做到了對(duì)物聯(lián)網(wǎng)系統(tǒng)的零入侵,并且具備良好的擴(kuò)展性。關(guān)鍵詞: 物聯(lián)網(wǎng); 自動(dòng)化監(jiān)控; mqtt; coap:tp319          文獻(xiàn)標(biāo)志碼:a     :1006-82

2、28(2019)06-34-04abstract: traditional monitoring software does not meet the operation and maintenance requirements of iot systems. to overcome the shortcomings, an automated monitoring system for iot is designed and implemented. in addition to the conventional server performance metrics, it can also

3、 monitor metrics specific for iot systems, such as number of device connection, mqtt service response time, and coap service response time. the monitoring system achieves zero intrusion into the iot system and has good scalability.key words: iot; automated monitoring; mqtt; coap0 引言監(jiān)控是it系統(tǒng)自動(dòng)化運(yùn)維的重要環(huán)節(jié)

4、,可以第一時(shí)間把系統(tǒng)故障通知到運(yùn)維工程師,所記錄的歷史日志,也有助于工程師定位到問(wèn)題點(diǎn)。與傳統(tǒng)it系統(tǒng)的監(jiān)控相比,物聯(lián)網(wǎng)系統(tǒng)的自動(dòng)化監(jiān)控,有許多不一樣的技術(shù)指標(biāo)。除了服務(wù)器負(fù)載、cpu使用率、內(nèi)存使用率、http服務(wù)可用性等傳統(tǒng)的監(jiān)控指標(biāo)以外,物聯(lián)網(wǎng)系統(tǒng)還需要監(jiān)控設(shè)備連接數(shù)、mqtt1服務(wù)響應(yīng)時(shí)間、coap2服務(wù)響應(yīng)時(shí)間、tcp/udp socket響應(yīng)時(shí)間等其他指標(biāo)。另外,接入到物聯(lián)網(wǎng)系統(tǒng)的設(shè)備數(shù)量,增長(zhǎng)速度很快,提前做好系統(tǒng)擴(kuò)容規(guī)劃,是物聯(lián)網(wǎng)系統(tǒng)自動(dòng)化監(jiān)控的重要目標(biāo)。傳統(tǒng)的it運(yùn)維監(jiān)控軟件,例如nagios3和zabbix4,并不滿足物聯(lián)網(wǎng)系統(tǒng)的上述監(jiān)控需求。鑒于上述背景,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)

5、面向物聯(lián)網(wǎng)的監(jiān)控系統(tǒng),它彌補(bǔ)了傳統(tǒng)監(jiān)控軟件的不足之處,做到了對(duì)物聯(lián)網(wǎng)系統(tǒng)的全方位監(jiān)控,具有高度自動(dòng)化、可配置性高、擴(kuò)展性強(qiáng)、對(duì)物聯(lián)網(wǎng)系統(tǒng)零入侵等特點(diǎn)。1 系統(tǒng)設(shè)計(jì)1.1 設(shè)計(jì)目標(biāo) 高度自動(dòng)化。各種指標(biāo)的監(jiān)控、報(bào)警、歷史數(shù)據(jù)分析,全部采用程序?qū)崿F(xiàn),無(wú)需人工參與。 可配置性高。報(bào)警閾值、報(bào)警方式、報(bào)警接收者等參數(shù),均可配置,隨時(shí)可以調(diào)整。 擴(kuò)展性強(qiáng)。后續(xù)可以方便的增加新的監(jiān)控指標(biāo),以及擴(kuò)展新的功能。 對(duì)物聯(lián)網(wǎng)系統(tǒng)零入侵。監(jiān)控系統(tǒng)作為一個(gè)獨(dú)立的系統(tǒng)存在,不會(huì)對(duì)物聯(lián)網(wǎng)系統(tǒng)產(chǎn)生任何功能和性能方面的影響,無(wú)需對(duì)物聯(lián)網(wǎng)系統(tǒng)做任何修改。1.2 系統(tǒng)架構(gòu)整個(gè)監(jiān)控系統(tǒng)使用分布式架構(gòu),主要由監(jiān)控模塊和監(jiān)控中心兩大部

6、分組成,如圖1所示。其中監(jiān)控模塊分三類(lèi):資源監(jiān)控模塊、進(jìn)程監(jiān)控模塊、響應(yīng)時(shí)間監(jiān)控模塊,它們負(fù)責(zé)采集各項(xiàng)監(jiān)控指標(biāo)數(shù)據(jù)。監(jiān)控中心則負(fù)責(zé)這些數(shù)據(jù)的接收、存儲(chǔ)、計(jì)算和展示,由http api網(wǎng)關(guān)、配置模塊、報(bào)警模塊、報(bào)表生成模塊、dashboard展示模塊等幾部分組成。2 監(jiān)控模塊2.1 資源監(jiān)控該模塊用于監(jiān)控服務(wù)器各種資源的使用情況。實(shí)現(xiàn)方式是:編寫(xiě)python腳本,在物聯(lián)網(wǎng)系統(tǒng)的每臺(tái)宿主服務(wù)器上運(yùn)行,每分鐘執(zhí)行一次,解析linux下相應(yīng)命令的結(jié)果,并把結(jié)果通過(guò)http api接口發(fā)往監(jiān)控中心,如果監(jiān)控中心發(fā)現(xiàn)某資源的使用超過(guò)設(shè)定的閾值,則自動(dòng)進(jìn)行報(bào)警。物聯(lián)網(wǎng)系統(tǒng)中,需要監(jiān)控的服務(wù)器資源以及相對(duì)應(yīng)的

7、linux命令,如表1所示。2.2 進(jìn)程監(jiān)控進(jìn)程監(jiān)控模塊用于監(jiān)控服務(wù)器上各個(gè)進(jìn)程是否處于運(yùn)行狀態(tài),以便檢測(cè)程序崩潰的現(xiàn)象。實(shí)現(xiàn)方式:編寫(xiě)python腳本,在物聯(lián)網(wǎng)系統(tǒng)的每臺(tái)宿主服務(wù)器上運(yùn)行,每分鐘執(zhí)行一次,解析linux下ps命令的結(jié)果,并將結(jié)果通過(guò)http api接口發(fā)往監(jiān)控中心,如果監(jiān)控中心發(fā)現(xiàn)進(jìn)程不在運(yùn)行狀態(tài),則自動(dòng)執(zhí)行報(bào)警。物聯(lián)網(wǎng)系統(tǒng)中,需要監(jiān)控的進(jìn)程主要分為如下幾類(lèi)。 數(shù)據(jù)庫(kù)進(jìn)程:包括關(guān)系型數(shù)據(jù)庫(kù)mysql,時(shí)間序列數(shù)據(jù)庫(kù)influxdb,緩存數(shù)據(jù)庫(kù)redis等。 網(wǎng)絡(luò)server進(jìn)程:包括mqtt server、coap server、websocket server、tcp/ud

8、p socket server、http server(nginx和tomcat)等。 中間件進(jìn)程:包括zookeeper、kafka等。 業(yè)務(wù)程序進(jìn)程:如mqtt消息處理程序、kafka消息處理程序等。2.3 響應(yīng)時(shí)間監(jiān)控該模塊用于監(jiān)控各種網(wǎng)絡(luò)服務(wù)的響應(yīng)時(shí)間。實(shí)現(xiàn)方式是:編寫(xiě)java程序,模擬設(shè)備往遠(yuǎn)程物聯(lián)網(wǎng)服務(wù)器發(fā)送數(shù)據(jù)包,并接收回復(fù)的數(shù)據(jù)包,計(jì)算出服務(wù)器的響應(yīng)時(shí)間,通過(guò)http api接口把結(jié)果發(fā)往監(jiān)控中心。為了避免偶然性的網(wǎng)絡(luò)傳輸延遲,每分鐘模擬發(fā)送一次設(shè)備數(shù)據(jù)包,監(jiān)控中心如果連續(xù)兩次都判定超出閾值,則自動(dòng)進(jìn)行報(bào)警。物聯(lián)網(wǎng)系統(tǒng)中,需要監(jiān)控的網(wǎng)絡(luò)服務(wù)響應(yīng)時(shí)間,包括:mqtt服務(wù)、coap

9、服務(wù)、websocket服務(wù)、tcp/udp socket服務(wù)、http服務(wù)等。以最常見(jiàn)的mqtt服務(wù)為例,響應(yīng)時(shí)間監(jiān)控的過(guò)程如圖2所示,其他網(wǎng)絡(luò)服務(wù)的監(jiān)控過(guò)程是類(lèi)似的。值得注意的是,與其他兩個(gè)監(jiān)控模塊不同,響應(yīng)時(shí)間監(jiān)控模塊,不是運(yùn)行在物聯(lián)網(wǎng)系統(tǒng)的宿主服務(wù)器上,而是需要模擬設(shè)備遠(yuǎn)程訪問(wèn)物聯(lián)網(wǎng)系統(tǒng)。3 監(jiān)控中心3.1 功能模塊監(jiān)控中心由如下幾個(gè)功能模塊組成。 http api網(wǎng)關(guān):用于接收各個(gè)監(jiān)控模塊提交的監(jiān)控?cái)?shù)據(jù)。 配置模塊:對(duì)監(jiān)控系統(tǒng)的參數(shù)進(jìn)行配置,包括各監(jiān)控指標(biāo)的報(bào)警閾值、報(bào)警方式、報(bào)警接收者等。 報(bào)警模塊:一旦監(jiān)控指標(biāo)超過(guò)設(shè)定的閾值,則通過(guò)郵件、短信、電話等方式告知運(yùn)維工程師和系統(tǒng)管理員

10、。 報(bào)表生成模塊:每天晚上零點(diǎn)定時(shí)執(zhí)行任務(wù),生成當(dāng)天的運(yùn)維監(jiān)控報(bào)表,報(bào)表數(shù)據(jù)記錄到pdf文件中,通過(guò)郵件把pdf文件發(fā)送給運(yùn)維工程師和系統(tǒng)管理員,并把pdf文件保存到mongodb的gridfs文件系統(tǒng),以便日后隨時(shí)查看歷史報(bào)表。 dashboard展示模塊:使用表格、折線圖、柱狀圖、火焰圖等方式,直觀展示物聯(lián)網(wǎng)系統(tǒng)的實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)、歷史監(jiān)控?cái)?shù)據(jù)。結(jié)合歷史數(shù)據(jù)趨勢(shì)圖,監(jiān)控中心可以給出是否需要進(jìn)行擴(kuò)容的建議。3.2 分層模式監(jiān)控中心使用分層模式進(jìn)行設(shè)計(jì),從上到下依次為展示層、接口層、業(yè)務(wù)服務(wù)層、數(shù)據(jù)訪問(wèn)層、數(shù)據(jù)存儲(chǔ)層,如圖3所示。層次結(jié)構(gòu)清晰,代碼易于維護(hù)。展示層、接口層和業(yè)務(wù)服務(wù)層均可獨(dú)立部署,

11、方便后續(xù)擴(kuò)展和二次開(kāi)發(fā)。監(jiān)控中心使用java編程語(yǔ)言開(kāi)發(fā),api層基于spring boot框架實(shí)現(xiàn),業(yè)務(wù)服務(wù)層基于dubbo框架實(shí)現(xiàn)。為了獲得更好的系統(tǒng)性能,監(jiān)控中心同時(shí)使用三種數(shù)據(jù)庫(kù),分別存儲(chǔ)不同的數(shù)據(jù):mysql存儲(chǔ)關(guān)系型業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)訪問(wèn)層基于mybatis框架實(shí)現(xiàn);mongodb存儲(chǔ)日志數(shù)據(jù)、歷史數(shù)據(jù)和文檔數(shù)據(jù),數(shù)據(jù)訪問(wèn)層基于spring data mongodb實(shí)現(xiàn);redis用于存放cache數(shù)據(jù),數(shù)據(jù)訪問(wèn)層基于spring data redis實(shí)現(xiàn)。4 結(jié)束語(yǔ)本文設(shè)計(jì)了一個(gè)專(zhuān)門(mén)針對(duì)物聯(lián)網(wǎng)的監(jiān)控系統(tǒng),實(shí)現(xiàn)了物聯(lián)網(wǎng)系統(tǒng)的全方位自動(dòng)化監(jiān)控。得益于其對(duì)物聯(lián)網(wǎng)系統(tǒng)零入侵的特點(diǎn),該監(jiān)控系統(tǒng)已經(jīng)應(yīng)用到多個(gè)正式商用的物聯(lián)網(wǎng)項(xiàng)目,取得了不錯(cuò)的效果。同時(shí),該系統(tǒng)具備良好的可擴(kuò)展性,下一步,計(jì)劃研究數(shù)據(jù)庫(kù)性能監(jiān)控、物聯(lián)網(wǎng)系統(tǒng)日志監(jiān)控等新的功能點(diǎn),并將這些新功能添加到監(jiān)控系統(tǒng)中。參考文獻(xiàn)(references):1 姚丹,謝雪松,楊建軍.基于mqtt協(xié)議的物聯(lián)網(wǎng)通信系統(tǒng)的研究與實(shí)現(xiàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論