欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法

文檔序號(hào):7869501閱讀:541來(lái)源:國(guó)知局
專利名稱:一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明屬于云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法。
背景技術(shù)
監(jiān)控系統(tǒng)能夠輔助數(shù)據(jù)中心管理員及時(shí)了解與管理服務(wù)器集群,并在集群發(fā)生狀況時(shí)能夠更快的解決突發(fā)問(wèn)題,保證云計(jì)算集群的安全、穩(wěn)定與可靠。另外,監(jiān)控系統(tǒng)基礎(chǔ)框架中對(duì)于監(jiān)控信息的獲取模塊,能夠監(jiān)控計(jì)算任務(wù)對(duì)于計(jì)算資源的消耗情況,為云計(jì)算計(jì)費(fèi)系統(tǒng)提供基礎(chǔ)服務(wù)與可靠保障。監(jiān)控信息也為日后進(jìn)行云端運(yùn)行狀況分析和改進(jìn)提供了重要的參考依據(jù)。當(dāng)前主流的監(jiān)控系統(tǒng)通常將監(jiān)控信息存儲(chǔ)在每一個(gè)節(jié)點(diǎn)上,之后發(fā)送廣播進(jìn)行監(jiān) 控信息的傳送,這樣會(huì)造成大量的數(shù)據(jù)冗余,而且有可能形成網(wǎng)絡(luò)風(fēng)暴。而本發(fā)明采用獨(dú)立監(jiān)控模塊,集群中每個(gè)節(jié)點(diǎn)上的輕量級(jí)守護(hù)進(jìn)程只負(fù)責(zé)發(fā)送監(jiān)控信息,而所有數(shù)據(jù)處理及存儲(chǔ)會(huì)在第三方監(jiān)控系統(tǒng)中進(jìn)行,從而使得對(duì)集群的壓力降至最低。另外,監(jiān)控服務(wù)器集群可以根據(jù)被監(jiān)控集群的大小進(jìn)行調(diào)整,如果集群規(guī)模較大,可將監(jiān)控服務(wù)器中的幾個(gè)子模塊分別運(yùn)行在不同的物理服務(wù)器中;反之,則可將子模塊運(yùn)行在同一個(gè)服務(wù)器中。當(dāng)前流行的監(jiān)控系統(tǒng)ganglia,監(jiān)控架構(gòu)是將監(jiān)控信息存儲(chǔ)在每一個(gè)節(jié)點(diǎn)上,之后將該節(jié)點(diǎn)的監(jiān)控信息廣播,從而使得每一個(gè)節(jié)點(diǎn)上都存儲(chǔ)了整個(gè)集群的監(jiān)控信息。這樣勢(shì)必會(huì)造成大量的數(shù)據(jù)冗余,當(dāng)節(jié)點(diǎn)的數(shù)量增加時(shí),容易形成網(wǎng)絡(luò)風(fēng)暴,造成大量的網(wǎng)絡(luò)資源與存儲(chǔ)資源浪費(fèi)。除此之外,現(xiàn)有的監(jiān)控系統(tǒng)是靜態(tài)對(duì)節(jié)點(diǎn)與集群信息進(jìn)行監(jiān)控,并不能實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)的監(jiān)控。

發(fā)明內(nèi)容
本發(fā)明提供了一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法,旨在解決現(xiàn)有的監(jiān)控系統(tǒng)將監(jiān)控信息存儲(chǔ)在每一個(gè)節(jié)點(diǎn)上,造成大量的數(shù)據(jù)冗余,造成大量的網(wǎng)絡(luò)資源與存儲(chǔ)資源浪費(fèi)以及不能實(shí)時(shí)動(dòng)態(tài)監(jiān)控的技術(shù)問(wèn)題。本發(fā)明提供的技術(shù)方案為一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),包括監(jiān)控端、功能服務(wù)器集群和云平臺(tái)服務(wù)器集群,所述監(jiān)控端用于供用戶選擇要監(jiān)控的對(duì)象,功能服務(wù)器集群用于接收監(jiān)控端選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象,將監(jiān)控指令下發(fā);云平臺(tái)服務(wù)器集群用于接收功能服務(wù)器集群的監(jiān)控指令,將監(jiān)控到的節(jié)點(diǎn)信息傳送給功能服務(wù)器集群。本發(fā)明的技術(shù)方案還包括所述功能服務(wù)器集群包括消息隊(duì)列服務(wù)器、中心服務(wù)器、網(wǎng)絡(luò)服務(wù)器以及數(shù)據(jù)庫(kù)服務(wù)器,所述消息隊(duì)列服務(wù)器負(fù)責(zé)接收各個(gè)節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù),并按照中心服務(wù)器的需求來(lái)進(jìn)程數(shù)據(jù)的遞送;所述中心服務(wù)器用于將接收的數(shù)據(jù)進(jìn)行數(shù)據(jù)持久化,并檢查節(jié)點(diǎn)列表與監(jiān)控?cái)?shù)據(jù)流;所述網(wǎng)頁(yè)服務(wù)器用于為用戶監(jiān)控提供可視化服務(wù),并支持?jǐn)?shù)據(jù)查詢功能;所述數(shù)據(jù)庫(kù)服務(wù)器用于進(jìn)行大規(guī)模的數(shù)據(jù)分析、查詢、插入等操作。本發(fā)明的技術(shù)方案還包括所述中心服務(wù)器包括數(shù)據(jù)持久化模塊負(fù)責(zé)將解包的數(shù)據(jù)進(jìn)行持久化,并存入數(shù)據(jù)庫(kù)服務(wù)器;報(bào)警模塊負(fù)責(zé)檢查節(jié)點(diǎn)列表與監(jiān)控?cái)?shù)據(jù)流,如果有觸發(fā)報(bào)警的條件,則將報(bào)警信息發(fā)送到網(wǎng)頁(yè)服務(wù)器;節(jié)點(diǎn)列表更新模塊負(fù)責(zé)收集節(jié)點(diǎn)信息,并將其更新到節(jié)點(diǎn)列表之中;節(jié)點(diǎn)列表分析模塊負(fù)責(zé)不間斷的分析節(jié)點(diǎn)列表狀態(tài),對(duì)于新加入的節(jié)點(diǎn),退出的節(jié)點(diǎn)信息通過(guò)報(bào)警模塊發(fā)送到網(wǎng)頁(yè)服務(wù)器。
本發(fā)明的技術(shù)方案還包括所述數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)庫(kù)采用MongoDB,包括主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),所述從節(jié)點(diǎn)與主節(jié)點(diǎn)的數(shù)據(jù)進(jìn)程同步。本發(fā)明的技術(shù)方案還包括所述網(wǎng)頁(yè)服務(wù)器包括數(shù)據(jù)池,所述數(shù)據(jù)池用于存儲(chǔ)整個(gè)集群中所有節(jié)點(diǎn)監(jiān)控信息的最新值。本發(fā)明的技術(shù)方案還包括所述云平臺(tái)服務(wù)器集群包括虛擬機(jī)集群和物理機(jī)集群,所述虛擬機(jī)集群和物理機(jī)集群包括至少一個(gè)虛擬機(jī)和物理機(jī),所述虛擬機(jī)與對(duì)應(yīng)的物理機(jī)進(jìn)行通訊。本發(fā)明的技術(shù)方案還包括所述云平臺(tái)服務(wù)器集群包括數(shù)據(jù)收集單元、控制單元、數(shù)據(jù)封裝單元、監(jiān)聽單元和系統(tǒng)參數(shù)XML配置單元;所述數(shù)據(jù)收集單元對(duì)系統(tǒng)進(jìn)行解析,提取出有用的監(jiān)控?cái)?shù)據(jù);所述控制單元根據(jù)功能服務(wù)器集群的指令對(duì)進(jìn)程進(jìn)行控制、守護(hù)或開發(fā);所述數(shù)據(jù)封裝單元用于完成監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)換與封裝,方便發(fā)送模塊進(jìn)程數(shù)據(jù)傳送,所述監(jiān)聽單元負(fù)責(zé)監(jiān)聽從數(shù)據(jù)隊(duì)列服務(wù)器發(fā)送過(guò)來(lái)的指令,并將其傳入相應(yīng)的模塊;所述系統(tǒng)參數(shù)XML配置單元主要負(fù)責(zé)系統(tǒng)基本參數(shù)的配置。本發(fā)明的技術(shù)方案還包括所述數(shù)據(jù)收集單元包括三個(gè)模塊/proC解析模塊、用戶自定義收集模塊和第三方插件收集模塊,所述/proc解析模塊負(fù)責(zé)對(duì)操作系統(tǒng)的/proc文件系統(tǒng)進(jìn)行解析,提取出有用的監(jiān)控?cái)?shù)據(jù),所述用戶自定義收集模塊通過(guò)開放API來(lái)支持用戶自定義監(jiān)控模式,所述第三方插件收集模塊用來(lái)支持用戶配置與使用第三方插件收集工具或協(xié)議。本發(fā)明的技術(shù)方案還包括所述控制單元包括沉睡功能模塊、進(jìn)程控制模塊和用戶自定義控制模塊,所述沉睡功能模塊用于確保該守護(hù)進(jìn)程輕量級(jí)運(yùn)行,所述進(jìn)程控制模塊用于根據(jù)功能服務(wù)器集群的指令改變某一進(jìn)程的運(yùn)行狀態(tài)或殺死該進(jìn)程,所述用戶自定義控制模塊用于方便用戶進(jìn)程二次開發(fā)或者使用第三方控制軟件。本發(fā)明米取的另一技術(shù)方案為一種開放式云計(jì)算大規(guī)模集群監(jiān)控方法,包括步驟a :根據(jù)自身需求選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象;步驟b :根據(jù)用戶選擇的監(jiān)控層次與動(dòng)態(tài)監(jiān)控對(duì)象,系統(tǒng)生成監(jiān)控信息圖;步驟c :將監(jiān)控信息發(fā)送到監(jiān)控端供用戶進(jìn)行查看。本發(fā)明的技術(shù)方案還包括所述選擇的監(jiān)控對(duì)象為當(dāng)前集群狀況診斷,系統(tǒng)對(duì)存儲(chǔ)在消息隊(duì)列服務(wù)器中的節(jié)點(diǎn)列表進(jìn)行分析,提取出當(dāng)前集群中是否有節(jié)點(diǎn)退出或者新增節(jié)點(diǎn),形成診斷信息Al ;采用NoSQL數(shù)據(jù)庫(kù)MongoDB進(jìn)行數(shù)據(jù)持久化,提取持久化數(shù)據(jù),并對(duì)網(wǎng)絡(luò)10、內(nèi)存、CPU、磁盤等信息進(jìn)行分析,提取出集群的運(yùn)行狀況,形成診斷信息A2 ;形成最終診斷信息A1+A2,并將診斷信息推送至網(wǎng)頁(yè)服務(wù)器。本發(fā)明的技術(shù)方案還包括所述選擇的監(jiān)控對(duì)象為集群監(jiān)控,所述網(wǎng)頁(yè)服務(wù)器間隔一段時(shí)間向消息隊(duì)列服務(wù)器的集群監(jiān)控模塊發(fā)送監(jiān)控命令,集群監(jiān)控模塊收到該命令后,對(duì)自身的節(jié)點(diǎn)列表進(jìn)行分析,分析出當(dāng)前集群中節(jié)點(diǎn)的變動(dòng)情況,形成監(jiān)控信息A3,所述消息隊(duì)列服務(wù)器將監(jiān)控信息A3發(fā)送到網(wǎng)頁(yè)服務(wù)器。本發(fā)明的技術(shù)方案具有如下優(yōu)點(diǎn)或有益效果本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法通過(guò)開放式集群節(jié)點(diǎn)守護(hù)進(jìn)程模塊收集用戶指定或自定義的節(jié)點(diǎn)信息,對(duì)集群中運(yùn)行的物理機(jī)與虛擬機(jī)進(jìn)行動(dòng)態(tài)實(shí)時(shí)監(jiān)控,另外對(duì)集群的運(yùn)行狀況與運(yùn)行中出現(xiàn)的問(wèn)題進(jìn)行實(shí)時(shí)監(jiān)控,為集群管理員提供更加實(shí)時(shí)、可靠與詳細(xì)的監(jiān)控服務(wù);另外,本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法統(tǒng)一將節(jié)點(diǎn)監(jiān)控信息進(jìn)行上報(bào),將監(jiān)控信息進(jìn)行統(tǒng)一存儲(chǔ),避免在每一個(gè)節(jié)點(diǎn)上都存儲(chǔ)整個(gè)集群的監(jiān)控信息,防止大量的數(shù)據(jù)冗余。


附圖1是本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖;附圖2是本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)的虛擬云數(shù)據(jù)對(duì)象的結(jié)構(gòu)不意圖;附圖3是本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)的虛擬云適配器的結(jié)構(gòu)示意圖;附圖4是本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控方法的流程示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。請(qǐng)參閱圖1,為本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)包括運(yùn)行守護(hù)進(jìn)程的功能服務(wù)器集群、云平臺(tái)服務(wù)器集群和監(jiān)控端。其中運(yùn)行守護(hù)進(jìn)程的云平臺(tái)服務(wù)器集群的粒度可以為Federation (聯(lián)盟),也可以為Cluster集群(節(jié)點(diǎn)服務(wù)器集群)。功能服務(wù)器集群包括監(jiān)控服務(wù)器與消息隊(duì)列服務(wù)器,其中,監(jiān)控服務(wù)器為一臺(tái),消息隊(duì)列服務(wù)器可以為多臺(tái)。監(jiān)控服務(wù)器包括網(wǎng)頁(yè)服務(wù)器、中心服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。監(jiān)控服務(wù)器的數(shù)據(jù)庫(kù)采用MongoDB(基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)),其運(yùn)行在一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器之上,例如NoSQL數(shù)據(jù)庫(kù)(非關(guān)系型的數(shù)據(jù)庫(kù))服務(wù)器。監(jiān)控端可以為PC (采用JSP網(wǎng)頁(yè)形式呈現(xiàn))或手機(jī)(采用HTTP協(xié)議與Web服務(wù)器交互)。云平臺(tái)服務(wù)器集群包括虛擬機(jī)集群和物理機(jī)集群,虛擬機(jī)集群和物理機(jī)集群包括至少一個(gè)虛擬機(jī)和物理機(jī),虛擬機(jī)與對(duì)應(yīng)的物理機(jī)進(jìn)行通訊。在監(jiān)控業(yè)務(wù)流程方面,首先用戶會(huì)在監(jiān)控端選擇要監(jiān)控的對(duì)象,之后監(jiān)控端會(huì)將該對(duì)象請(qǐng)求信息傳送給網(wǎng)頁(yè)服務(wù)器,網(wǎng)頁(yè)服務(wù)器會(huì)判斷需要的監(jiān)控信息來(lái)源,如果需要從數(shù)據(jù)庫(kù)服務(wù)器中讀取,則會(huì)直接讀取數(shù)據(jù)庫(kù)服務(wù)器MengoDB中的相關(guān)數(shù)據(jù)。如果需要從節(jié)點(diǎn)中讀取,則會(huì)給節(jié)點(diǎn)發(fā)送命令,節(jié)點(diǎn)在接到命令后會(huì)對(duì)相關(guān)的監(jiān)控信息進(jìn)行讀取,之后傳送給網(wǎng)頁(yè)服務(wù)器,網(wǎng)頁(yè)服務(wù)器在對(duì)傳送過(guò)來(lái)的數(shù)據(jù)進(jìn)行整合后發(fā)送給監(jiān)控端。在報(bào)警業(yè)務(wù)流程方面,云平臺(tái)服務(wù)器集群中的Cluster節(jié)點(diǎn)與消息隊(duì)列服務(wù)器會(huì)將報(bào)警信息傳送給網(wǎng)頁(yè)服務(wù)器,之后網(wǎng)頁(yè)服務(wù)器在將數(shù)據(jù)進(jìn)行處理后推送給手機(jī)監(jiān)控端進(jìn)行報(bào)警。在數(shù)據(jù)持久化業(yè)務(wù)流程方面,云平臺(tái)服務(wù)器集群中Cluster中的每個(gè)節(jié)點(diǎn)會(huì)周期性的將監(jiān)控到的信息傳送給消息隊(duì)列服務(wù)器,之后,消息隊(duì)列服務(wù)器會(huì)將整理后的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中進(jìn)行持久化。與此同時(shí),消息隊(duì)列服務(wù)器會(huì)更新內(nèi)部的NodeTable (節(jié)點(diǎn)列表),并對(duì)其進(jìn)行監(jiān)控,如果發(fā)現(xiàn)問(wèn)題會(huì)及時(shí)將錯(cuò)誤信息以報(bào)警的方式發(fā)送給監(jiān)控服務(wù)器,監(jiān)控服務(wù)器之后將報(bào)警信息推送給手機(jī)。請(qǐng)參閱圖2,圖2是云平臺(tái)服務(wù)器集群的守護(hù)進(jìn)程收集信息的原理圖。云平臺(tái)服務(wù)器集群包括數(shù)據(jù)收集單元、控制單元、數(shù)據(jù)封裝單元、系統(tǒng)參數(shù)XML (System ParameterXML)配置單元以及監(jiān)聽單元。數(shù)據(jù)收集單元(Data Collection Unit)包括三個(gè)模塊/proc解析模塊(/procAnalysis Module)、用戶自定義收集模塊(User Defined Collector Module)和第三方插件收集模塊(Third-part Collector Module)。/proc解析模塊是系統(tǒng)的默認(rèn)加載模塊,負(fù) 責(zé)對(duì)操作系統(tǒng)的/proc文件系統(tǒng)進(jìn)行解析,從而提取出有用的監(jiān)控?cái)?shù)據(jù)。用戶自定義收集模塊(User Defined Collector Module)通過(guò)開放API來(lái)支持用戶自定義監(jiān)控模式,用戶可以自定義參數(shù)收集方法以及類型。第三方插件收集模塊用來(lái)支持用戶配置與使用第三方插件收集工具或協(xié)議,例如SNMP以及CPU風(fēng)扇轉(zhuǎn)速與溫度收集插件等。控制單元包括三個(gè)模塊沉睡功能模塊(Sleeping Function Module)、進(jìn)程控制模塊(Process Control Module)和用戶自定義控制模塊(User Define Control Module)。沉睡功能模塊是為了確保該守護(hù)進(jìn)程輕量級(jí)運(yùn)行,因此一些功能模塊并不運(yùn)行,處于“沉睡”狀態(tài),等待信號(hào)接收模塊接收命令將其激活。這些功能包括一些不常用的功能,包括守護(hù)進(jìn)程停止發(fā)送監(jiān)控信息、守護(hù)進(jìn)程發(fā)送信息頻率改變等。進(jìn)程控制模塊根據(jù)功能服務(wù)器集群的指令改變某一進(jìn)程的運(yùn)行狀態(tài)或殺死該進(jìn)程,其意義在于協(xié)助集群診斷模塊與報(bào)警模塊來(lái)提前對(duì)進(jìn)程進(jìn)行鎖定,等待用戶的處理指令,使節(jié)點(diǎn)運(yùn)行更加安全。用戶自定義控制模塊與用戶自定義數(shù)據(jù)收集模塊功能類似,用戶自定義控制模塊是為了方便用戶進(jìn)程二次開發(fā)或者使用第三方控制軟件,通過(guò)開放API方便用戶使用。數(shù)據(jù)封裝單元(Data Packaging Unit)主要完成監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)換與封裝,方便發(fā)送模塊進(jìn)程數(shù)據(jù)傳送,包括三個(gè)模塊默認(rèn)封裝模塊(Default Packaging Module)、其他封裝模塊(Other Packaging Module)和用戶自定義封裝模塊(User Defined PackagingModule)。默認(rèn)封裝模塊用于在用戶沒(méi)有其他設(shè)置時(shí),系統(tǒng)將會(huì)采用默認(rèn)封裝模塊,該模塊采用JSON (Java Script Object Notation,—種輕量級(jí)的數(shù)據(jù)交換格式)數(shù)據(jù)封裝格式進(jìn)行封裝。其他封裝模塊(Other Packaging Module)用于預(yù)存其他數(shù)據(jù)封裝模塊,滿足不同監(jiān)控用戶的需求。用戶自定義封裝模塊(User Defined Packaging Module)用于預(yù)留用戶自定義數(shù)據(jù)封裝模塊,用戶可通過(guò)系統(tǒng)提供的開放式API來(lái)自定義數(shù)據(jù)封裝策略。監(jiān)聽單元(Listening Module)主要包括信息接收模塊與數(shù)據(jù)發(fā)送模塊。信息接收模塊主要負(fù)責(zé)監(jiān)聽從數(shù)據(jù)隊(duì)列服務(wù)器發(fā)送過(guò)來(lái)的指令,并將其傳入相應(yīng)的模塊。數(shù)據(jù)發(fā)送模塊主要負(fù)責(zé)將收集打包好的數(shù)據(jù)按照指定頻率不間斷傳送給數(shù)據(jù)隊(duì)列服務(wù)器。如果監(jiān)聽單元接到停止發(fā)送指令,則信息接收模塊與數(shù)據(jù)發(fā)送模塊將停止工作。
系統(tǒng)參數(shù)XML配置單元主要負(fù)責(zé)系統(tǒng)基本參數(shù)的配置,供其他模塊使用。系統(tǒng)參數(shù)XML配置單元與監(jiān)控服務(wù)器使用相同的XML,這樣可以保證監(jiān)控?cái)?shù)據(jù)從內(nèi)容、格式和頻率上的一致性。請(qǐng)參閱圖3,圖3為監(jiān)控服務(wù)器的結(jié)構(gòu)示意圖。監(jiān)控服務(wù)器包括消息隊(duì)列服務(wù)器(Message Queue Service)、中心服務(wù)器(Center Service)、網(wǎng)絡(luò)服務(wù)器(Web Service)以及數(shù)據(jù)庫(kù)服務(wù)器(NoSQL Database Service)。四個(gè)模塊公共完成了監(jiān)控服務(wù)器的模塊的數(shù)據(jù)接收、分析、監(jiān)控以及可視化等功能。這四個(gè)模塊可以單獨(dú)放置在四個(gè)不同的服務(wù)器之上,從而組成監(jiān)控服務(wù)集群,也可以根據(jù)機(jī)房情況與機(jī)器性能而任意組合,從而使系統(tǒng)有更大的伸縮性。四個(gè)模塊之間因?yàn)橐ハ囝l繁通信,因此四個(gè)模塊最好能夠處于同一局域網(wǎng)內(nèi)部,從而保證通信質(zhì)量與速度。消息隊(duì)列服務(wù)器(Message Queue Service)負(fù)責(zé)接收各個(gè)節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù),并按照中心服務(wù)器的需求來(lái)進(jìn)程數(shù)據(jù)的遞送。消息隊(duì)列服務(wù)器使用rabbitMQ來(lái)進(jìn)行數(shù)據(jù)的接收、存儲(chǔ)與遞送,這樣能夠保證數(shù)據(jù)的大規(guī)模接收與防止數(shù)據(jù)丟失。消息隊(duì)列服務(wù)器的核心是一個(gè)存儲(chǔ)隊(duì)列,該隊(duì)列負(fù)責(zé)將各個(gè)節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)程存儲(chǔ),之后根據(jù)中心服務(wù)器(Center Service)的需求進(jìn)行數(shù)據(jù)彈出與發(fā)送。在每個(gè)Node上運(yùn)行的發(fā)送模塊使用rabbitMQ的開發(fā)包,這樣可不必考慮數(shù)據(jù)具體的發(fā)送方式,完全按照rabbitMQ的數(shù)據(jù)發(fā)送模式來(lái)進(jìn)行。而在每個(gè)中心服務(wù)器上,也運(yùn)行了使用rabbitMQ開發(fā)包中的接收程序,用來(lái)運(yùn)行消費(fèi)者(Consumer),從而進(jìn)程數(shù)據(jù)接收。通過(guò)這種結(jié)構(gòu)設(shè)計(jì)出來(lái)的消息隊(duì)列服務(wù)器,能夠進(jìn)程大規(guī)模集群的數(shù)據(jù)接收,從而保證了系統(tǒng)弄個(gè)能夠進(jìn)行大規(guī)模集群的監(jiān)控。而基于rabbitMQ的數(shù)據(jù)存儲(chǔ)、發(fā)送與接收,保證了數(shù)據(jù)的完整性和通信的高效性。中心服務(wù)器(Center Service)是本監(jiān)控系統(tǒng)最為核心的裝置,也是本系統(tǒng)通信最頻繁,最復(fù)雜的模塊,因此,中心服務(wù)器的設(shè)計(jì)將會(huì)關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性。中心服務(wù)器包括數(shù)據(jù)持久化模塊(Data Persistent Module):負(fù)責(zé)將解包的數(shù)據(jù)存入數(shù)據(jù)庫(kù)服務(wù)器(Database Service),該模塊在整個(gè)系統(tǒng)運(yùn)行階段不間斷運(yùn)行,只要數(shù)據(jù)收集模塊收集到數(shù)據(jù),則進(jìn)行數(shù)據(jù)持久化;報(bào)警模塊負(fù)責(zé)不間斷檢查節(jié)點(diǎn)列表與監(jiān)控?cái)?shù)據(jù)流,如果有觸發(fā)報(bào)警的條件,則通過(guò)數(shù)據(jù)交換模塊(Data Switch Module)將報(bào)警信息發(fā)送到網(wǎng)頁(yè)服務(wù)器中;節(jié)點(diǎn)列表更新模塊負(fù)責(zé)收集節(jié)點(diǎn)信息,并將其更新到節(jié)點(diǎn)列表之中;節(jié)點(diǎn)列表分析模塊負(fù)責(zé)不間斷的分析節(jié)點(diǎn)列表狀態(tài),對(duì)于新加入的節(jié)點(diǎn),退出的節(jié)點(diǎn)信息通過(guò)報(bào)警模塊發(fā)送到網(wǎng)頁(yè)服務(wù)器中。在該架構(gòu)圖中的數(shù)據(jù)持久化模塊、報(bào)警模塊和節(jié)點(diǎn)列表分析及更新模塊并存,沒(méi)有先后次序,對(duì)應(yīng)到程序中就是一個(gè)進(jìn)程的三個(gè)線程,這樣可以保證其中任意一個(gè)功能模塊失效不會(huì)影響另外功能模塊的執(zhí)行。數(shù)據(jù)庫(kù)服務(wù)器(Database Service)是運(yùn)行NoSQL數(shù)據(jù)庫(kù)服務(wù)的模塊,該模塊中當(dāng)前運(yùn)行MongoDB數(shù)據(jù)庫(kù)服務(wù)器。由于該數(shù)據(jù)庫(kù)服務(wù)器在每一時(shí)刻都要進(jìn)行大規(guī)模的數(shù)據(jù)分析、查詢、插入等操作,因此將所有的操作都集中在一起 勢(shì)必會(huì)造成服務(wù)器的壓力,所以本服務(wù)器充分利用MongoDB的復(fù)制功能,可以用復(fù)制來(lái)應(yīng)對(duì)故障切換、數(shù)據(jù)集成,還可以用來(lái)做讀擴(kuò)展、熱備份或作為離線處理的數(shù)據(jù)源。數(shù)據(jù)庫(kù)服務(wù)器的架構(gòu)中包括一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),從節(jié)點(diǎn)能夠與主節(jié)點(diǎn)的數(shù)據(jù)進(jìn)程同步,并分擔(dān)不同的任務(wù),例如集群分析,集群信息查詢等。主節(jié)點(diǎn)專門負(fù)責(zé)數(shù)據(jù)的插入與更新。這樣可以大大降低多個(gè)任務(wù)對(duì)單個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的壓力。其中,主節(jié)點(diǎn)與從節(jié)點(diǎn)可以運(yùn)行在同一個(gè)服務(wù)器上,也可以分散在不同的服務(wù)器上。網(wǎng)頁(yè)服務(wù)器(Web Service)負(fù)責(zé)為用戶監(jiān)控提供可視化服務(wù),并支持?jǐn)?shù)據(jù)查詢等其他較為復(fù)雜的功能。網(wǎng)頁(yè)服務(wù)器同時(shí)為基于WEB的監(jiān)控頁(yè)面與基于Android客戶端來(lái)提供服務(wù)。雖然為不同的客戶端提供服務(wù),但是其實(shí)現(xiàn)都是相同的,使用Java來(lái)完成其業(yè)務(wù)邏輯,因此,兩者的服務(wù)可以放在一起,也可以使用相同的類與連接詞等。該服務(wù)器最重要的結(jié)構(gòu)是包含一個(gè)數(shù)據(jù)池,該數(shù)據(jù)池(Data pool)在WEB容器啟動(dòng)時(shí)即創(chuàng)建,該數(shù)據(jù)池用于存儲(chǔ)整個(gè)集群中所有節(jié)點(diǎn)監(jiān)控信息的最新值 ,而且處于不斷的更新之中,而監(jiān)控系統(tǒng)只需從該池中調(diào)去特定的數(shù)據(jù)即可進(jìn)行監(jiān)控。請(qǐng)參閱圖4,為本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控方法的流程圖。本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控方法包括步驟100 :用戶根據(jù)自身需求選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象,監(jiān)控層次可以為物理機(jī)或者虛擬機(jī),也可以是兩者同時(shí)監(jiān)控;步驟200 :根據(jù)用戶選擇的監(jiān)控層次與動(dòng)態(tài)監(jiān)控對(duì)象,系統(tǒng)自動(dòng)生成監(jiān)控信息圖;在步驟200中,監(jiān)控信息圖為心跳圖,橫坐標(biāo)是為時(shí)間,縱坐標(biāo)為監(jiān)控到的數(shù)據(jù)大小用戶可在監(jiān)控的過(guò)程中隨意調(diào)整監(jiān)控時(shí)間間隔,系統(tǒng)會(huì)根據(jù)用戶的調(diào)整來(lái)改變心跳圖的呈現(xiàn)方式。在步驟200中,如果用戶選擇對(duì)當(dāng)前集群狀況診斷時(shí),轉(zhuǎn)入步驟202,如果用戶在Web頁(yè)面中打開集群監(jiān)控頁(yè)面,轉(zhuǎn)入步驟205 ;步驟202 :系統(tǒng)對(duì)存儲(chǔ)在消息隊(duì)列服務(wù)器中的節(jié)點(diǎn)列表進(jìn)行分析,從而提取出當(dāng)前集群中是否有節(jié)點(diǎn)退出或者新增節(jié)點(diǎn),形成診斷信息Al,并轉(zhuǎn)入步驟203 ;步驟203 :采用NoSQL數(shù)據(jù)庫(kù)MongoDB進(jìn)行數(shù)據(jù)持久化,系統(tǒng)提取近一分鐘的持久化數(shù)據(jù),并對(duì)網(wǎng)絡(luò)10、內(nèi)存、CPU、磁盤等信息進(jìn)行分析,從而提取出集群的運(yùn)行狀況,形成診斷信息A2,并轉(zhuǎn)入步驟204 ;步驟204 :形成最終診斷信息A1+A2,并將該信息推送至網(wǎng)頁(yè)服務(wù)器。等待下一次的診斷命令;步驟205 :如果有用戶在Web頁(yè)面中打開集群監(jiān)控頁(yè)面,Web服務(wù)器會(huì)每隔10秒鐘向消息隊(duì)列服務(wù)器的集群監(jiān)控模塊發(fā)送監(jiān)控命令,集群監(jiān)控模塊收到該命令后,會(huì)對(duì)自身的節(jié)點(diǎn)列表進(jìn)行分析,從而分析出當(dāng)前集群中節(jié)點(diǎn)的變動(dòng)情況,形成監(jiān)控信息A3,轉(zhuǎn)入步驟206 ;步驟206 :消息隊(duì)列服務(wù)器將監(jiān)控信息A3發(fā)送到Web服務(wù)器中,等待下一次的監(jiān)控請(qǐng)求。步驟300 :在監(jiān)控的過(guò)程中將鼠標(biāo)移動(dòng)至圖表上來(lái)查看監(jiān)控信息的具體數(shù)字。本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法通過(guò)開放式集群節(jié)點(diǎn)守護(hù)進(jìn)程模塊收集用戶指定或自定義的節(jié)點(diǎn)信息,對(duì)集群中運(yùn)行的物理機(jī)與虛擬機(jī)進(jìn)行動(dòng)態(tài)實(shí)時(shí)監(jiān)控,另外對(duì)集群的運(yùn)行狀況與運(yùn)行中出現(xiàn)的問(wèn)題進(jìn)行實(shí)時(shí)監(jiān)控,為集群管理員提供更加實(shí)時(shí)、可靠與詳細(xì)的監(jiān)控服務(wù);另外,本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法統(tǒng)一將節(jié)點(diǎn)監(jiān)控信息進(jìn)行上報(bào),將監(jiān)控信息進(jìn)行統(tǒng)一存儲(chǔ),避免在每一個(gè)節(jié)點(diǎn)上都存儲(chǔ)整個(gè)集群的監(jiān)控信息,防止節(jié)點(diǎn)大量的數(shù)據(jù)冗余。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),包括監(jiān)控端,所述監(jiān)控端用于供用戶選擇要監(jiān)控的對(duì)象,其特征在于,還包括 功能服務(wù)器集群用于接收監(jiān)控端選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象,將監(jiān)控指令下發(fā); 云平臺(tái)服務(wù)器集群用于接收功能服務(wù)器集群的監(jiān)控指令,將監(jiān)控到的節(jié)點(diǎn)信息傳送給功能服務(wù)器集群。
2.根據(jù)權(quán)利要求1所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述功能服務(wù)器集群包括消息隊(duì)列服務(wù)器、中心服務(wù)器、網(wǎng)絡(luò)服務(wù)器以及數(shù)據(jù)庫(kù)服務(wù)器,所述消息隊(duì)列服務(wù)器負(fù)責(zé)接收各個(gè)節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù),并按照中心服務(wù)器的需求來(lái)進(jìn)程數(shù)據(jù)的遞送;所述中心服務(wù)器用于將接收的數(shù)據(jù)進(jìn)行數(shù)據(jù)持久化,并檢查節(jié)點(diǎn)列表與監(jiān)控?cái)?shù)據(jù)流;所述網(wǎng)頁(yè)服務(wù)器用于為用戶監(jiān)控提供可視化服務(wù),并支持?jǐn)?shù)據(jù)查詢功能;所述數(shù)據(jù)庫(kù)服務(wù)器用于進(jìn)行大規(guī)模的數(shù)據(jù)分析、查詢、插入等操作。
3.根據(jù)權(quán)利要求2所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述中心服務(wù)器包括 數(shù)據(jù)持久化模塊負(fù)責(zé)將解包的數(shù)據(jù)進(jìn)行持久化,并存入數(shù)據(jù)庫(kù)服務(wù)器; 報(bào)警模塊負(fù)責(zé)檢查節(jié)點(diǎn)列表與監(jiān)控?cái)?shù)據(jù)流,如果有觸發(fā)報(bào)警的條件,則將報(bào)警信息發(fā)送到網(wǎng)頁(yè)服務(wù)器; 節(jié)點(diǎn)列表更新模塊負(fù)責(zé)收集節(jié)點(diǎn)信息,并將其更新到節(jié)點(diǎn)列表之中; 節(jié)點(diǎn)列表分析模塊負(fù)責(zé)不間斷的分析節(jié)點(diǎn)列表狀態(tài),對(duì)于新加入的節(jié)點(diǎn),退出的節(jié)點(diǎn)信息通過(guò)報(bào)警模塊發(fā)送到網(wǎng)頁(yè)服務(wù)器。
4.根據(jù)權(quán)利要求2所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)庫(kù)采用MongoDB,包括主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),所述從節(jié)點(diǎn)與主節(jié)點(diǎn)的數(shù)據(jù)進(jìn)程同步。
5.根據(jù)權(quán)利要求2所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述網(wǎng)頁(yè)服務(wù)器包括數(shù)據(jù)池,所述數(shù)據(jù)池用于存儲(chǔ)整個(gè)集群中所有節(jié)點(diǎn)監(jiān)控信息的最新值。
6.根據(jù)權(quán)利要求1所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述云平臺(tái)服務(wù)器集群包括虛擬機(jī)集群和物理機(jī)集群,所述虛擬機(jī)集群和物理機(jī)集群包括至少一個(gè)虛擬機(jī)和物理機(jī),所述虛擬機(jī)與對(duì)應(yīng)的物理機(jī)進(jìn)行通訊。
7.根據(jù)權(quán)利要求1或2所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述云平臺(tái)服務(wù)器集群包括數(shù)據(jù)收集單元、控制單元、數(shù)據(jù)封裝單元、監(jiān)聽單元和系統(tǒng)參數(shù)XML配置單元;所述數(shù)據(jù)收集單元對(duì)系統(tǒng)進(jìn)行解析,提取出有用的監(jiān)控?cái)?shù)據(jù);所述控制單元根據(jù)功能服務(wù)器集群的指令對(duì)進(jìn)程進(jìn)行控制、守護(hù)或開發(fā);所述數(shù)據(jù)封裝單元用于完成監(jiān)控?cái)?shù)據(jù)的轉(zhuǎn)換與封裝,方便發(fā)送模塊進(jìn)程數(shù)據(jù)傳送,所述監(jiān)聽單元負(fù)責(zé)監(jiān)聽從數(shù)據(jù)隊(duì)列服務(wù)器發(fā)送過(guò)來(lái)的指令,并將其傳入相應(yīng)的模塊;所述系統(tǒng)參數(shù)XML配置單元主要負(fù)責(zé)系統(tǒng)基本參數(shù)的配置。
8.根據(jù)權(quán)利要求7所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述數(shù)據(jù)收集單元包括三個(gè)模塊/proc解析模塊、用戶自定義收集模塊和第三方插件收集模塊,所述/proc解析模塊負(fù)責(zé)對(duì)操作系統(tǒng)的/proc文件系統(tǒng)進(jìn)行解析,提取出有用的監(jiān)控?cái)?shù)據(jù),所述用戶自定義收集模塊通過(guò)開放API來(lái)支持用戶自定義監(jiān)控模式,所述第三方插件收集模塊用來(lái)支持用戶配置與使用第三方插件收集工具或協(xié)議。
9.根據(jù)權(quán)利要求7所述的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng),其特征在于,所述控制單元包括沉睡功能模塊、進(jìn)程控制模塊和用戶自定義控制模塊,所述沉睡功能模塊用于確保該守護(hù)進(jìn)程輕量級(jí)運(yùn)行,所述進(jìn)程控制模塊用于根據(jù)功能服務(wù)器集群的指令改變某一進(jìn)程的運(yùn)行狀態(tài)或殺死該進(jìn)程,所述用戶自定義控制模塊用于方便用戶進(jìn)程二次開發(fā)或者使用第三方控制軟件。
10.一種開放式云計(jì)算大規(guī)模集群監(jiān)控方法,包括 步驟a :根據(jù)自身需求選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象; 步驟b :根據(jù)用戶選擇的監(jiān)控層次與動(dòng)態(tài)監(jiān)控對(duì)象,系統(tǒng)生成監(jiān)控信息圖; 步驟c :將監(jiān)控信息發(fā)送到監(jiān)控端供用戶進(jìn)行查看。
11.根據(jù)權(quán)利要求10所述的開放式云計(jì)算大規(guī)模集群監(jiān)控方法,其特征在于,所述選擇的監(jiān)控對(duì)象為當(dāng)前集群狀況診斷,系統(tǒng)對(duì)存儲(chǔ)在消息隊(duì)列服務(wù)器中的節(jié)點(diǎn)列表進(jìn)行分析,提取出當(dāng)前集群中是否有節(jié)點(diǎn)退出或者新增節(jié)點(diǎn),形成診斷信息Al ;采用NoSQL數(shù)據(jù)庫(kù)MongoDB進(jìn)行數(shù)據(jù)持久化,提取持久化數(shù)據(jù),并對(duì)網(wǎng)絡(luò)10、內(nèi)存、CPU、磁盤等信息進(jìn)行分析,提取出集群的運(yùn)行狀況,形成診斷信息A2 ;形成最終診斷信息A1+A2,并將診斷信息推送至網(wǎng)頁(yè)服務(wù)器。
12.根據(jù)權(quán)利要求10所述的開放式云計(jì)算大規(guī)模集群監(jiān)控方法,其特征在于,所述選擇的監(jiān)控對(duì)象為集群監(jiān)控,所述網(wǎng)頁(yè)服務(wù)器間隔一段時(shí)間向消息隊(duì)列服務(wù)器的集群監(jiān)控模塊發(fā)送監(jiān)控命令,集群監(jiān)控模塊收到該命令后,對(duì)自身的節(jié)點(diǎn)列表進(jìn)行分析,分析出當(dāng)前集群中節(jié)點(diǎn)的變動(dòng)情況,形成監(jiān)控信息A3,所述消息隊(duì)列服務(wù)器將監(jiān)控信息A3發(fā)送到網(wǎng)頁(yè)服務(wù)器。
全文摘要
本發(fā)明屬于云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法。本發(fā)明的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)包括監(jiān)控端、功能服務(wù)器集群和云平臺(tái)服務(wù)器集群,所述監(jiān)控端用于供用戶選擇要監(jiān)控的對(duì)象,所述功能服務(wù)器集群用于接收監(jiān)控端選擇需要?jiǎng)討B(tài)監(jiān)控層次與監(jiān)控對(duì)象,將監(jiān)控指令下發(fā);所述云平臺(tái)服務(wù)器集群用于接收功能服務(wù)器集群的監(jiān)控指令,將監(jiān)控到的節(jié)點(diǎn)信息傳送給功能服務(wù)器集群。本發(fā)明實(shí)施例的開放式云計(jì)算大規(guī)模集群監(jiān)控系統(tǒng)及方法對(duì)集群中運(yùn)行的物理機(jī)與虛擬機(jī)進(jìn)行動(dòng)態(tài)實(shí)時(shí)監(jiān)控,為集群管理員提供更加實(shí)時(shí)、可靠與詳細(xì)的監(jiān)控服務(wù);另外,將節(jié)點(diǎn)監(jiān)控信息進(jìn)行上報(bào),將監(jiān)控信息進(jìn)行統(tǒng)一存儲(chǔ)防止大量的數(shù)據(jù)冗余。
文檔編號(hào)H04L12/26GK103024060SQ20121055884
公開日2013年4月3日 申請(qǐng)日期2012年12月20日 優(yōu)先權(quán)日2012年12月20日
發(fā)明者須成忠, 曾經(jīng)緯, 楊聰, 洪爵 申請(qǐng)人:中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
邳州市| 崇明县| 浦江县| 江源县| 巧家县| 炉霍县| 巴塘县| 大港区| 平利县| 翼城县| 咸阳市| 弥勒县| 郧西县| 皮山县| 兴化市| 璧山县| 鲜城| 阜平县| 德兴市| 荥阳市| 平罗县| 乌什县| 岱山县| 长白| 阳泉市| 庄浪县| 文成县| 江达县| 朝阳县| 秦安县| 鸡东县| 秦安县| 保定市| 新巴尔虎右旗| 静乐县| 寿阳县| 资兴市| 昌宁县| 济阳县| 疏附县| 磴口县|