基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于分布式推送的云監(jiān)控方法,包括:將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由;運(yùn)行監(jiān)控守護(hù)進(jìn)程;分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心;本發(fā)明還公開(kāi)了一種基于分布式推送的云監(jiān)控裝置,包括分類模塊、監(jiān)控守護(hù)模塊、數(shù)據(jù)采集模塊及數(shù)據(jù)推送模塊;本發(fā)明還公開(kāi)了一種基于分布式推送的云監(jiān)控系統(tǒng)。本發(fā)明提出的基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng),能夠準(zhǔn)確、有效地進(jìn)行云平臺(tái)系統(tǒng)的監(jiān)控。
【專利說(shuō)明】基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算【技術(shù)領(lǐng)域】,特別是指一種基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]云計(jì)算平臺(tái)是一種典型的大型復(fù)雜系統(tǒng)。為了提高云計(jì)算平臺(tái)的運(yùn)維與服務(wù)質(zhì)量需要對(duì)云計(jì)算平臺(tái)進(jìn)行全面、智能、高效的監(jiān)控。云監(jiān)控是云計(jì)算平臺(tái)的重要組成部分,通過(guò)云監(jiān)控得到的數(shù)據(jù),可以判斷云平臺(tái)的運(yùn)行狀況,同時(shí)還可以對(duì)云平臺(tái)進(jìn)行性能預(yù)測(cè),將其作為云平臺(tái)資源調(diào)度的依據(jù)。
[0003]云平臺(tái)具有資源多樣性、結(jié)構(gòu)的復(fù)雜性、部署的分布性的特點(diǎn),給監(jiān)控任務(wù)帶來(lái)的巨大挑戰(zhàn),使傳統(tǒng)的監(jiān)控方式已不再適應(yīng)這種監(jiān)控任務(wù);而且,私有云計(jì)算平臺(tái)還具有隔離網(wǎng)絡(luò)環(huán)境的特點(diǎn)。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提出一種基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng),能夠準(zhǔn)確、有效地進(jìn)行云平臺(tái)系統(tǒng)的監(jiān)控。
[0005]基于上述目的本發(fā)明提供的一種基于分布式推送的云監(jiān)控方法,包括:
[0006]將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由;
[0007]運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0008]分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0009]將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心。
[0010]在一些實(shí)施方式中,運(yùn)行監(jiān)控守護(hù)進(jìn)程的步驟之前還包括:
[0011]運(yùn)行監(jiān)控后臺(tái)進(jìn)程,進(jìn)行初始化處理,并返回初始化數(shù)據(jù);以及,
[0012]從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
[0013]在一些實(shí)施方式中,將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心的步驟包括:
[0014]當(dāng)網(wǎng)絡(luò)中斷時(shí),將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地;
[0015]當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),將存儲(chǔ)在本地的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
[0016]在一些實(shí)施方式中,將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地的步驟中:本地存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則進(jìn)行滾動(dòng)存儲(chǔ)。
[0017]在一些實(shí)施方式中,所述方法還包括:
[0018]為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);[0019]當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,
[0020]識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
[0021]本發(fā)明還提供了一種基于分布式推送的云監(jiān)控裝置,包括:
[0022]分類模塊,用于將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由;
[0023]監(jiān)控守護(hù)模塊,用于運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0024]數(shù)據(jù)采集模塊,用于分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0025]數(shù)據(jù)推送模塊,用于將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心。
[0026]在一些實(shí)施方式中,所述裝置還包括監(jiān)控后臺(tái)模塊,用于運(yùn)行監(jiān)控后臺(tái)進(jìn)程,對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù);
[0027]所述監(jiān)控守護(hù)模塊,還用于從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
[0028]在一些實(shí)施方式中,所述裝置還包括本地存儲(chǔ)模塊;
[0029]當(dāng)網(wǎng)絡(luò)中斷時(shí),所述本地存儲(chǔ)模塊用于存儲(chǔ)所述分別采集的數(shù)據(jù);
[0030]當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),所述數(shù)據(jù)推送模塊還用于將存儲(chǔ)在本地存儲(chǔ)模塊中的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
[0031]在一些實(shí)施方式中,所述本地存儲(chǔ)模塊中存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則所述本地存儲(chǔ)模塊還用于進(jìn)行滾動(dòng)存儲(chǔ)。
[0032]在一些實(shí)施方式中,所述本地存儲(chǔ)模塊還用于為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
[0033]本發(fā)明還提供了一種基于分布式推送的云監(jiān)控系統(tǒng),包括上述的基于分布式推送的云監(jiān)控裝置、待監(jiān)控云計(jì)算資源以及云計(jì)算監(jiān)控中心。
[0034]從上面所述可以看出,本發(fā)明提供的基于分布式推送的云監(jiān)控方法、裝置及系統(tǒng),通過(guò)將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)四類資源,分別進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)資源多樣性的監(jiān)控問(wèn)題。較佳的,本監(jiān)控方案采用將監(jiān)控?cái)?shù)據(jù)主動(dòng)推送到云計(jì)算監(jiān)控中心的方式進(jìn)行監(jiān)控?cái)?shù)據(jù)的獲取,從而達(dá)到對(duì)監(jiān)控目標(biāo)的監(jiān)控目的,解決了傳統(tǒng)監(jiān)控方法中輪詢方式存在的請(qǐng)求多數(shù)無(wú)用且浪費(fèi)帶寬和服務(wù)器資源的問(wèn)題。
[0035]進(jìn)一步的,針對(duì)云計(jì)算平臺(tái)網(wǎng)絡(luò)環(huán)境的復(fù)雜性,所述云監(jiān)控方法通過(guò)增設(shè)本地存儲(chǔ)數(shù)據(jù)的方法,使得當(dāng)與云計(jì)算監(jiān)控中心能夠網(wǎng)絡(luò)聯(lián)通時(shí),將從監(jiān)控對(duì)象中采集到的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心進(jìn)而儲(chǔ)存到云平臺(tái)數(shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)中斷時(shí),仍按照預(yù)設(shè)的監(jiān)控周期進(jìn)行監(jiān)控,此時(shí)采集到的數(shù)據(jù)會(huì)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)恢復(fù)時(shí),將本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)分批全部推送到云計(jì)算平臺(tái)的數(shù)據(jù)庫(kù)中,保證監(jiān)控?cái)?shù)據(jù)的完整、連續(xù)、可靠。較佳的,本地存儲(chǔ)采取文本格式存儲(chǔ),而不采用數(shù)據(jù)庫(kù),這樣 既能夠減少部署復(fù)雜度,又能夠提高存取效率。
【專利附圖】
【附圖說(shuō)明】
[0036]圖1為本發(fā)明提供的基于分布式推送的云監(jiān)控方法的一個(gè)實(shí)施例的流程圖;
[0037]圖2為本發(fā)明提供的基于分布式推送的云監(jiān)控方法的另一個(gè)實(shí)施例的流程圖;
[0038]圖3為本發(fā)明提供的基于分布式推送的云監(jiān)控裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0040]需要說(shuō)明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見(jiàn)“第一” “第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說(shuō)明。
[0041]參照附圖1,為本發(fā)明提供的基于分布式推送的云監(jiān)控方法的一個(gè)實(shí)施例的流程圖。
[0042]所述基于分布式推送的云監(jiān)控方法,包括:
[0043]步驟101:將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由;
[0044]步驟102:運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0045]步驟103:分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0046]步驟104:將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心。
[0047]可選的,運(yùn)行監(jiān)控守護(hù)進(jìn)程的步驟102之前還可包括以下步驟:
[0048]運(yùn)行監(jiān)控后臺(tái)進(jìn)程,進(jìn)行初始化處理,并返回初始化數(shù)據(jù);以及,
[0049]從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
[0050]進(jìn)一步的,將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心的步驟104可以下步驟:
[0051]當(dāng)網(wǎng)絡(luò)中斷時(shí),將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地;
[0052]當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),將存儲(chǔ)在本地的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
[0053]較佳的,將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地的步驟中:本地存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則進(jìn)行滾動(dòng)存儲(chǔ)。
[0054]可選的,所述方法還可包括以下步驟:
[0055]為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);
[0056]當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,
[0057]識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
[0058]參照附圖2,為本發(fā)明提供的基于分布式推送的云監(jiān)控方法的另一個(gè)實(shí)施例的流程圖。
[0059]所述基于分布式推送的云監(jiān)控方法,包括:
[0060]步驟201:將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Moni tor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter,意即,連接隔離網(wǎng)絡(luò)環(huán)境內(nèi)部與外部的虛擬路由器);
[0061]步驟202:運(yùn)行監(jiān)控后臺(tái)進(jìn)程(Monitor-Server),對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù);
[0062]步驟203:從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程;
[0063]步驟204:運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0064]步驟205:分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0065]步驟206:判斷網(wǎng)絡(luò)是否連通;
[0066]若是,則轉(zhuǎn)到步驟207:將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心;
[0067]若否,則轉(zhuǎn)到步驟208:將所述分別采集的數(shù)據(jù)采用文本格式存儲(chǔ)在本地;每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值(例如500條數(shù)據(jù));當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則進(jìn)行滾動(dòng)存儲(chǔ);這樣可以防止因采集數(shù)據(jù)過(guò)多而引起存儲(chǔ)相關(guān)的問(wèn)題;
[0068]步驟209:為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí),并返回步驟206 ;
[0069]步驟210:修改已被推送的文本數(shù)據(jù)信息的推送標(biāo)識(shí);
[0070]步驟211:識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除,以保證已經(jīng)被重新推送過(guò)的數(shù)據(jù)得到及時(shí)的清理。
[0071]較佳的,所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的性能數(shù)據(jù)的采集是周期性地;可選的,所述方法還包括接收云計(jì)算監(jiān)控中心的指令以及向云計(jì)算監(jiān)控中心返回相應(yīng)的數(shù)據(jù)。
[0072]所述步驟205—分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù)的步驟,具體地可解釋為分別獨(dú)立、異步的對(duì)相應(yīng)資源進(jìn)行數(shù)據(jù)采集。
[0073]其中,所述云平臺(tái)邏輯數(shù)據(jù)中心的數(shù)據(jù)采集包括以下步驟:
[0074]運(yùn)行云平臺(tái)邏輯數(shù)據(jù)中心的監(jiān)控守護(hù)進(jìn)程;
[0075]從云計(jì)算監(jiān)控中心中獲取云平臺(tái)邏輯數(shù)據(jù)中心的數(shù)據(jù)清單;
[0076]提取數(shù)據(jù)清單中的監(jiān)控對(duì)象的IP和ID ;
[0077]周期性地對(duì)其性能數(shù)據(jù)進(jìn)行采集并主動(dòng)推送給云計(jì)算監(jiān)控中心。
[0078]其中,所述負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)的數(shù)據(jù)采集包括以下步驟:
[0079]運(yùn)行物理主機(jī)的監(jiān)控守護(hù)進(jìn)程;
[0080]從云計(jì)算監(jiān)控中心中獲取物理主機(jī)的數(shù)據(jù)清單;
[0081]根據(jù)主機(jī)類型進(jìn)行分類,提取數(shù)據(jù)清單中的監(jiān)控對(duì)象的IP和ID ;
[0082]分別采用與主機(jī)類型對(duì)應(yīng)的采集方法,異步的、周期的對(duì)各個(gè)物理主機(jī)進(jìn)行性能數(shù)據(jù)采集;[0083]將采集到的數(shù)據(jù)主動(dòng)推送給云計(jì)算監(jiān)控中心。
[0084]較佳的,可以將負(fù)責(zé)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)設(shè)置成云監(jiān)控裝置本身,來(lái)對(duì)同一網(wǎng)絡(luò)隔離環(huán)境中的云計(jì)算資源進(jìn)行監(jiān)控;從而解決了云計(jì)算平臺(tái)網(wǎng)絡(luò)隔離環(huán)境帶來(lái)的無(wú)法監(jiān)控的問(wèn)題。
[0085]因此,所述負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由的數(shù)據(jù)采集包括以下步驟:
[0086]運(yùn)行監(jiān)控路由的監(jiān)控守護(hù)進(jìn)程;
[0087]從云計(jì)算監(jiān)控中心中獲取監(jiān)控路由的數(shù)據(jù)清單;
[0088]提取數(shù)據(jù)清單中的監(jiān)控對(duì)象的IP和ID ;
[0089]周期的對(duì)各個(gè)監(jiān)控路由進(jìn)行性能數(shù)據(jù)采集;
[0090]將采集到的數(shù)據(jù)主動(dòng)推送給云計(jì)算監(jiān)控中心。
[0091]其中,在對(duì)監(jiān)控路由進(jìn)行數(shù)據(jù)采集的同時(shí),還要對(duì)每個(gè)監(jiān)控路由負(fù)責(zé)經(jīng)其轉(zhuǎn)發(fā)的所有具體任務(wù)的監(jiān)控虛擬機(jī)的數(shù)據(jù)采集的任務(wù)。具體包括:
[0092]運(yùn)行監(jiān)控腳本推送進(jìn)程(Monitor-Loader-Transter);
[0093]將監(jiān)控腳本進(jìn)程發(fā)送給所述監(jiān)控路由;
[0094]運(yùn)行所述監(jiān)控腳本進(jìn)程;
[0095]從云計(jì)算監(jiān)控中心中下載監(jiān)控虛擬機(jī)監(jiān)控守護(hù)進(jìn)程;
[0096]運(yùn)行監(jiān)控虛擬機(jī)的監(jiān)控守護(hù)進(jìn)程;
[0097]從云計(jì)算監(jiān)控中心中獲取監(jiān)控虛擬機(jī)的數(shù)據(jù)清單;
[0098]根據(jù)監(jiān)控虛擬機(jī)的操作系統(tǒng)類型進(jìn)行分類;
[0099]采用與操作系統(tǒng)類型相應(yīng)的數(shù)據(jù)采集方法對(duì)其進(jìn)行數(shù)據(jù)采集;
[0100]將采集到的數(shù)據(jù)主動(dòng)推送給云計(jì)算監(jiān)控中心。
[0101]從上面所述可以看出,本發(fā)明提供的基于分布式推送的云監(jiān)控方法,通過(guò)將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)四類資源,分別進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)資源多樣性的監(jiān)控問(wèn)題。較佳的,所述云監(jiān)控方法采用將監(jiān)控?cái)?shù)據(jù)主動(dòng)推送到云計(jì)算監(jiān)控中心的方式進(jìn)行監(jiān)控?cái)?shù)據(jù)的獲取,從而達(dá)到對(duì)監(jiān)控目標(biāo)的監(jiān)控目的,解決了傳統(tǒng)監(jiān)控方法中輪詢方式存在的請(qǐng)求多數(shù)無(wú)用且浪費(fèi)帶寬和服務(wù)器資源的問(wèn)題。
[0102]進(jìn)一步的,針對(duì)云計(jì)算平臺(tái)網(wǎng)絡(luò)環(huán)境的復(fù)雜性,所述云監(jiān)控方法通過(guò)增設(shè)本地存儲(chǔ)數(shù)據(jù)的方法,使得當(dāng)與云計(jì)算監(jiān)控中心能夠網(wǎng)絡(luò)聯(lián)通時(shí),將從監(jiān)控對(duì)象中采集到的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心進(jìn)而儲(chǔ)存到云平臺(tái)數(shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)中斷時(shí),仍按照預(yù)設(shè)的監(jiān)控周期進(jìn)行監(jiān)控,此時(shí)采集到的數(shù)據(jù)會(huì)存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)恢復(fù)時(shí),將本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)分批全部推送到云計(jì)算平臺(tái)的數(shù)據(jù)庫(kù)中,保證監(jiān)控?cái)?shù)據(jù)的完整、連續(xù)、可靠。較佳的,本地存儲(chǔ)采取文本格式存儲(chǔ),而不采用數(shù)據(jù)庫(kù),這樣既能夠減少部署復(fù)雜度,又能夠提高存取效率。
[0103]可選的,針對(duì)云計(jì)算平臺(tái)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量大、動(dòng)態(tài)增減的不確定性,所述云監(jiān)控方法采用針對(duì)IP定位執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)的方法,根據(jù)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量的增減,同時(shí)動(dòng)態(tài)的增減負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)的數(shù)量,來(lái)確保每個(gè)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)都能被有效監(jiān)控到。
[0104]此外,針對(duì)云計(jì)算平臺(tái)結(jié)構(gòu)復(fù)雜性的特點(diǎn),所述云監(jiān)控方法還可分別針對(duì)KVM、Xen, VMWare等虛擬化管理系統(tǒng)在上述實(shí)施例中所述云監(jiān)控方法的基本框架中稍加修改而得到不同的監(jiān)控方案。針對(duì)云計(jì)算平臺(tái)中操作系統(tǒng)的多樣性,所述云監(jiān)控方法還可采取對(duì)不同系統(tǒng)(例如,Windows操作系統(tǒng)和Linux操作系統(tǒng))分類監(jiān)控的方式。
[0105]需要特別指出的是,上述基于分布式推送的云監(jiān)控方法實(shí)施例中的各個(gè)步驟均可以相互交叉、替換、增加、刪減,因此,這些合理的排列組合變換之于基于分布式推送的云監(jiān)控方法也應(yīng)當(dāng)屬于本發(fā)明的保護(hù)范圍,并且不應(yīng)將本發(fā)明的保護(hù)范圍局限在所述實(shí)施例之上。
[0106]本發(fā)明的另一方面,還提供了一種基于分布式推送的云監(jiān)控裝置。
[0107]參照附圖3,為本發(fā)明提供的基于分布式推送的云監(jiān)控裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0108]所述基于分布式推送的云監(jiān)控裝置(Monitor-Master,監(jiān)控者)300,包括:
[0109]分類模塊301,用于將待監(jiān)控云計(jì)算資源(Monitor-Object,被監(jiān)控者)劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter);
[0110]監(jiān)控守護(hù)模塊302,用于運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0111]數(shù)據(jù)采集模塊303,用于分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0112]數(shù)據(jù)推送模塊304,用于將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心(Monitor-Center)。
[0113]所述監(jiān)控守護(hù)模塊302、數(shù)據(jù)采集模塊303和數(shù)據(jù)推送模塊304的一種可實(shí)現(xiàn)方式
是,三者集成為一個(gè)模塊-守護(hù)模塊(Mon i tor-Daemon ),用于采集所述監(jiān)控虛擬機(jī)、物理
主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù),并將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心(Monitor-Center),同時(shí)向云計(jì)算監(jiān)控中心(Monitor-Center)報(bào)告自己的狀態(tài)。
[0114]所述數(shù)據(jù)推送模塊304直接推送給云計(jì)算監(jiān)控中心(Monitor-Center)的采集數(shù)據(jù),可存儲(chǔ)在云計(jì)算平臺(tái)的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)(Monitor-DataBase)中。
[0115]所述云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone),包含物理服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備
坐寸ο
[0116]進(jìn)一步的,所述裝置還包括監(jiān)控后臺(tái)模塊305,用于運(yùn)行監(jiān)控后臺(tái)進(jìn)程,對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù)到云計(jì)算監(jiān)控中心(Monitor-Center );
[0117]所述監(jiān)控守護(hù)模塊302,還用于從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
[0118]其中,所述監(jiān)控后臺(tái)模塊305,還用于判斷是否已完成初始化處理,若未完成,則進(jìn)行初始化處理,并將初始化數(shù)據(jù)推送給云計(jì)算監(jiān)控中心。所述初始化處理包括初始化所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由的數(shù)據(jù)列表,并將該數(shù)據(jù)列表推送給云計(jì)算監(jiān)控中心。[0119]可選的,所述監(jiān)控后臺(tái)模塊305,還用于監(jiān)聽(tīng)所述裝置本身(Monitor-Master)和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心的增加、刪除、改動(dòng)等信息;并實(shí)時(shí)更新云計(jì)算監(jiān)控中心中的相關(guān)數(shù)據(jù);所述監(jiān)控后臺(tái)模塊305貫穿所述云監(jiān)控裝置的生命周期的始終。
[0120]所述裝置還包括本地存儲(chǔ)模塊(Monitor-Local-DataBase) 306 ;
[0121]當(dāng)網(wǎng)絡(luò)中斷時(shí),所述本地存儲(chǔ)模塊306用于存儲(chǔ)所述分別采集的數(shù)據(jù);
[0122]當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),所述數(shù)據(jù)推送模塊304還用于將存儲(chǔ)在本地存儲(chǔ)模塊306中的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
[0123]所述本地存儲(chǔ)模塊306中存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則所述本地存儲(chǔ)模塊306還用于進(jìn)行滾動(dòng)存儲(chǔ)。
[0124]所述本地存儲(chǔ)模塊306還用于為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
[0125]可選的,云監(jiān)控裝置300還包括監(jiān)控調(diào)度器(Monitor-Scheduler) 307,用于運(yùn)行套接字后臺(tái)監(jiān)控進(jìn)程(socket Server),接收云計(jì)算監(jiān)控中心的指令(例如監(jiān)控?cái)?shù)據(jù)采集周期等)以及向云計(jì)算監(jiān)控中心返回相應(yīng)的數(shù)據(jù)。在運(yùn)行監(jiān)控守護(hù)進(jìn)程之前,要確保套接字后臺(tái)監(jiān)控進(jìn)程是啟動(dòng)的,套接字后臺(tái)監(jiān)控進(jìn)程用于輔助采集監(jiān)控對(duì)象的性能數(shù)據(jù)。
[0126]較佳的,所述數(shù)據(jù)采集模塊303,還用于根據(jù)預(yù)先設(shè)定的用戶需求,將采集到的原始監(jiān)控?cái)?shù)據(jù)進(jìn)行處理,篩選出所需監(jiān)控?cái)?shù)據(jù);所述數(shù)據(jù)推送模塊304還用于將篩選出的監(jiān)控?cái)?shù)據(jù)按規(guī)定的方式推送給云計(jì)算監(jiān)控中心。
[0127]下面結(jié)合上述基于分布式推送的云監(jiān)控方法的另一個(gè)實(shí)施例對(duì)所述基于分布式推送的云監(jiān)控裝置300的工作過(guò)程進(jìn)行詳細(xì)描述。
[0128]參照附圖2,為本發(fā)明提供的基于分布式推送的云監(jiān)控方法的另一個(gè)實(shí)施例的流程圖。
[0129]所述基于分布式推送的云監(jiān)控方法,包括:
[0130]步驟201:所述分類模塊301將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter,意即,連接隔離網(wǎng)絡(luò)環(huán)境內(nèi)部與外部的虛擬路由器);
[0131]步驟202:所述監(jiān)控后臺(tái)模塊305運(yùn)行監(jiān)控后臺(tái)進(jìn)程(Monitor-Server),對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù);
[0132]步驟203:所述監(jiān)控守護(hù)模塊302從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程;
[0133]步驟204:所述監(jiān)控守護(hù)模塊302運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0134]步驟205:所述數(shù)據(jù)采集模塊303分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0135]步驟206:判斷網(wǎng)絡(luò)是否連通;
[0136]若是,則轉(zhuǎn)到步驟207:所述數(shù)據(jù)推送模塊304將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心;
[0137]若否,則轉(zhuǎn)到步驟208:所述數(shù)據(jù)推送模塊304將所述分別采集的數(shù)據(jù)采用文本格式存儲(chǔ)在所述本地存儲(chǔ)模塊306 ;每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值(例如500條數(shù)據(jù));當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則進(jìn)行滾動(dòng)存儲(chǔ);這樣可以防止因采集數(shù)據(jù)過(guò)多而引起存儲(chǔ)相關(guān)的問(wèn)題;
[0138]步驟209:所述數(shù)據(jù)推送模塊304為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí),并返回步驟206 ;
[0139]步驟210:所述數(shù)據(jù)推送模塊304修改已被推送的文本數(shù)據(jù)信息的推送標(biāo)識(shí);
[0140]步驟211:所述本地存儲(chǔ)模塊306識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除,以保證已經(jīng)被重新推送過(guò)的數(shù)據(jù)得到及時(shí)的清理。
[0141]從上面所述可以看出,本發(fā)明提供的基于分布式推送的云監(jiān)控裝置,通過(guò)將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)四類資源,分別進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)資源多樣性的監(jiān)控問(wèn)題。較佳的,所述云監(jiān)控裝置采用將監(jiān)控?cái)?shù)據(jù)主動(dòng)推送到云計(jì)算監(jiān)控中心的方式進(jìn)行監(jiān)控?cái)?shù)據(jù)的獲取,從而達(dá)到對(duì)監(jiān)控目標(biāo)的監(jiān)控目的,解決了傳統(tǒng)監(jiān)控方法中輪詢方式存在的請(qǐng)求多數(shù)無(wú)用且浪費(fèi)帶寬和服務(wù)器資源的問(wèn)題。
[0142]進(jìn)一步的,針對(duì)云計(jì)算平臺(tái)網(wǎng)絡(luò)環(huán)境的復(fù)雜性,所述云監(jiān)控裝置通過(guò)增設(shè)本地存儲(chǔ)模塊的方法,使得當(dāng)與云計(jì)算監(jiān)控中心能夠網(wǎng)絡(luò)聯(lián)通時(shí),將從監(jiān)控對(duì)象中采集到的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心進(jìn)而儲(chǔ)存到云平臺(tái)數(shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)中斷時(shí),仍按照預(yù)設(shè)的監(jiān)控周期進(jìn)行監(jiān)控,此時(shí)采集到的數(shù)據(jù)會(huì)存儲(chǔ)到本地存儲(chǔ)模塊,當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)恢復(fù)時(shí),將本地存儲(chǔ)模塊中的數(shù)據(jù)分批全部推送到云計(jì)算平臺(tái)的數(shù)據(jù)庫(kù)中,保證監(jiān)控?cái)?shù)據(jù)的完整、連續(xù)、可靠。較佳的,本地存儲(chǔ)采取文本格式存儲(chǔ),而不采用數(shù)據(jù)庫(kù),這樣既能夠減少部署復(fù)雜度,又能夠提高存取效率。
[0143]可選的,針對(duì)云計(jì)算平臺(tái)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量大、動(dòng)態(tài)增減的不確定性,所述云監(jiān)控裝置采用針對(duì)IP定位執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)的方法,根據(jù)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量的增減,同時(shí)動(dòng)態(tài)的增減負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)的數(shù)量,來(lái)確保每個(gè)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)都能被有效監(jiān)控到。
[0144]此外,將負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)設(shè)置成所述云監(jiān)控裝置,來(lái)對(duì)同一網(wǎng)絡(luò)隔離環(huán)境中的監(jiān)控對(duì)象(例如,執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)本身)進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)網(wǎng)絡(luò)隔離環(huán)境(例如,局域網(wǎng))而帶來(lái)的無(wú)法監(jiān)控的問(wèn)題。
[0145]需要特別指出的是,上述基于分布式推送的云監(jiān)控裝置的實(shí)施例僅采用了所述基于分布式推送的云監(jiān)控方法的實(shí)施例來(lái)具體說(shuō)明各模塊的工作過(guò)程,本領(lǐng)域技術(shù)人員能夠很容易想到,將這些模塊應(yīng)用到所述基于分布式推送的云監(jiān)控方法的其他實(shí)施例中。當(dāng)然,由于所述基于分布式推送的云監(jiān)控方法實(shí)施例中的各個(gè)步驟均可以相互交叉、替換、增加、刪減,因此,這些合理的排列組合變換之于所述基于分布式推送的云監(jiān)控裝置也應(yīng)當(dāng)屬于本發(fā)明的保護(hù)范圍,并且不應(yīng)將本發(fā)明的保護(hù)范圍局限在所述實(shí)施例之上。
[0146]本發(fā)明的又一個(gè)方面,還提供了 一種基于分布式推送的云監(jiān)控系統(tǒng)。
[0147]所述基于分布式推送的云監(jiān)控系統(tǒng),包括上述的基于分布式推送的云監(jiān)控裝置(Monitor-Master),待監(jiān)控云計(jì)算資源(Monitor-Object,被監(jiān)控者),以及云計(jì)算監(jiān)控中心(Monitor-Center)。
[0148]參照附圖3,為本發(fā)明提供的基于分布式推送的云監(jiān)控裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0149]所述基于分布式推送的云監(jiān)控裝置(Monitor-Master,監(jiān)控者)300,包括:
[0150]分類模塊301,用于將待監(jiān)控云計(jì)算資源(Monitor-Object,被監(jiān)控者)劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter);
[0151]監(jiān)控守護(hù)模塊302,用于運(yùn)行監(jiān)控守護(hù)進(jìn)程;
[0152]數(shù)據(jù)采集模塊303,用于分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù);
[0153]數(shù)據(jù)推送模塊304,用于將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心(Monitor-Center)。
[0154]所述監(jiān)控守護(hù)模塊302、數(shù)據(jù)采集模塊303和數(shù)據(jù)推送模塊304的一種可實(shí)現(xiàn)方式
是,三者集成為一個(gè)模塊-守護(hù)模塊(Mon i tor-Daemon ),用于采集所述監(jiān)控虛擬機(jī)、物理
主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù),并將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心(Monitor-Center),同時(shí)向云計(jì)算監(jiān)控中心(Monitor-Center)報(bào)告自己的狀態(tài)。
[0155]所述數(shù)據(jù)推送模塊304直接推送給云計(jì)算監(jiān)控中心(Monitor-Center)的采集數(shù)據(jù),可存儲(chǔ)在云計(jì)算平臺(tái)的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)(Monitor-DataBase)中。
[0156]所述云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone),包含物理服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備
坐寸ο
[0157]進(jìn)一步的,所述裝置還包括監(jiān)控后臺(tái)模塊305,用于運(yùn)行監(jiān)控后臺(tái)進(jìn)程,對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù)到云計(jì)算監(jiān)控中心(Monitor-Center );
[0158]所述監(jiān)控守護(hù)模塊302,還用于從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
[0159]其中,所述監(jiān)控后臺(tái)模塊305,還用于判斷是否已完成初始化處理,若未完成,則進(jìn)行初始化處理,并將初始化數(shù)據(jù)推送給云計(jì)算監(jiān)控中心。所述初始化處理包括初始化所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由的數(shù)據(jù)列表,并將該數(shù)據(jù)列表推送給云計(jì)算監(jiān)控中心。
[0160]可選的,所述監(jiān)控后臺(tái)模塊305,還用于監(jiān)聽(tīng)所述裝置本身(Monitor-Master)和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心的增加、刪除、改動(dòng)等信息;并實(shí)時(shí)更新云計(jì)算監(jiān)控中心中的相關(guān)數(shù)據(jù);所述監(jiān)控后臺(tái)模塊305貫穿所述云監(jiān)控裝置的生命周期的始終。[0161]所述裝置還包括本地存儲(chǔ)模塊(Monitor-Local-DataBase) 306 ;
[0162]當(dāng)網(wǎng)絡(luò)中斷時(shí),所述本地存儲(chǔ)模塊306用于存儲(chǔ)所述分別采集的數(shù)據(jù);
[0163]當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),所述數(shù)據(jù)推送模塊304還用于將存儲(chǔ)在本地存儲(chǔ)模塊306中的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
[0164]所述本地存儲(chǔ)模塊306中存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則所述本地存儲(chǔ)模塊306還用于進(jìn)行滾動(dòng)存儲(chǔ)。
[0165]所述本地存儲(chǔ)模塊306還用于為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
[0166]可選的,云監(jiān)控裝置300還包括監(jiān)控調(diào)度器(Monitor-Scheduler) 307,用于運(yùn)行套接字后臺(tái)監(jiān)控進(jìn)程(socket Server),接收云計(jì)算監(jiān)控中心的指令(例如監(jiān)控?cái)?shù)據(jù)采集周期等)以及向云計(jì)算監(jiān)控中心返回相應(yīng)的數(shù)據(jù)。在運(yùn)行監(jiān)控守護(hù)進(jìn)程之前,要確保套接字后臺(tái)監(jiān)控進(jìn)程是啟動(dòng)的,套接字后臺(tái)監(jiān)控進(jìn)程用于輔助采集監(jiān)控對(duì)象的性能數(shù)據(jù)。
[0167]較佳的,所述數(shù)據(jù)采集模塊303,還用于根據(jù)預(yù)先設(shè)定的用戶需求,將采集到的原始監(jiān)控?cái)?shù)據(jù)進(jìn)行處理,篩選出所需監(jiān)控?cái)?shù)據(jù);所述數(shù)據(jù)推送模塊304還用于將篩選出的監(jiān)控?cái)?shù)據(jù)按規(guī)定的方式推送給云計(jì)算監(jiān)控中心。
[0168]此外,云計(jì)算監(jiān)控中心還用于對(duì)接收到的數(shù)據(jù)進(jìn)行處理、存儲(chǔ)以及與云計(jì)算平臺(tái)(Monitor-Cloud-Platform)進(jìn)行交互;云計(jì)算監(jiān)控中心還用于對(duì)被監(jiān)控端監(jiān)控項(xiàng)目、監(jiān)控周期、監(jiān)控方法、監(jiān)控粒度進(jìn)行控制;云計(jì)算監(jiān)控中心還用于根據(jù)監(jiān)控策略及時(shí)的給管理人員發(fā)送郵件和/或短信、進(jìn)行報(bào)告或發(fā)出警報(bào)。云計(jì)算監(jiān)控中心還用于根據(jù)狀況和策略更新?tīng)顟B(tài),或發(fā)出警報(bào)。
[0169]從上面所述可以看出,本發(fā)明提供的基于分布式推送的云監(jiān)控系統(tǒng),針對(duì)云計(jì)算平臺(tái)分布式環(huán)境下異構(gòu)的、動(dòng)態(tài)的、復(fù)雜的資源,提出了采取基于分布式推送的云監(jiān)控裝置(Monitor-Master),待監(jiān)控云計(jì)算資源(Monitor-Object,被監(jiān)控者),以及云計(jì)算監(jiān)控中心(Monitor-Center)三核心結(jié)構(gòu)的監(jiān)控方案。
[0170]進(jìn)一步的,通過(guò)將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Moni tor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone )和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter )四類資源,分別進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)資源多樣性的監(jiān)控問(wèn)題。較佳的,所述云監(jiān)控系統(tǒng)采用將監(jiān)控?cái)?shù)據(jù)主動(dòng)推送到云計(jì)算監(jiān)控中心的方式進(jìn)行監(jiān)控?cái)?shù)據(jù)的獲取,從而達(dá)到對(duì)監(jiān)控目標(biāo)的監(jiān)控目的,解決了傳統(tǒng)監(jiān)控方法中輪詢方式存在的請(qǐng)求多數(shù)無(wú)用且浪費(fèi)帶寬和服務(wù)器資源的問(wèn)題。
[0171]進(jìn)一步的,針對(duì)云計(jì)算平臺(tái)網(wǎng)絡(luò)環(huán)境的復(fù)雜性,所述云監(jiān)控系統(tǒng)通過(guò)增設(shè)本地存儲(chǔ)模塊的方法,使得當(dāng)與云計(jì)算監(jiān)控中心能夠網(wǎng)絡(luò)聯(lián)通時(shí),將從監(jiān)控對(duì)象中采集到的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心進(jìn)而儲(chǔ)存到云平臺(tái)數(shù)據(jù)庫(kù),當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)中斷時(shí),仍按照預(yù)設(shè)的監(jiān)控周期進(jìn)行監(jiān)控,此時(shí)采集到的數(shù)據(jù)會(huì)存儲(chǔ)到本地存儲(chǔ)模塊,當(dāng)與云計(jì)算監(jiān)控中心網(wǎng)絡(luò)恢復(fù)時(shí),將本地存儲(chǔ)模塊中的數(shù)據(jù)分批全部推送到云計(jì)算平臺(tái)的數(shù)據(jù)庫(kù)中,保證監(jiān)控?cái)?shù)據(jù)的完整、連續(xù)、可靠。較佳的,本地存儲(chǔ)采取文本格式存儲(chǔ),而不采用數(shù)據(jù)庫(kù),這樣既能夠減少部署復(fù)雜度,又能夠提高存取效率。
[0172]可選的,針對(duì)云計(jì)算平臺(tái)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量大、動(dòng)態(tài)增減的不確定性,所述云監(jiān)控系統(tǒng)采用針對(duì)IP定位執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)的方法,根據(jù)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)數(shù)量的增減,同時(shí)動(dòng)態(tài)的增減負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)的數(shù)量,來(lái)確保每個(gè)執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)都能被有效監(jiān)控到。
[0173]此外,將負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)設(shè)置成所述云監(jiān)控裝置,來(lái)對(duì)同一網(wǎng)絡(luò)隔離環(huán)境中的監(jiān)控對(duì)象(例如,執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)(Monitor-VM)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)(Monitor-Host)、云平臺(tái)邏輯數(shù)據(jù)中心(Monitor-Zone)和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由(Monitor-vRouter)本身)進(jìn)行監(jiān)控,解決了云計(jì)算平臺(tái)網(wǎng)絡(luò)隔離環(huán)境(例如,局域網(wǎng))而帶來(lái)的無(wú)法監(jiān)控的問(wèn)題。
[0174]需要特別指出的是,上述基于分布式推送的云監(jiān)控系統(tǒng)的實(shí)施例僅采用了所述基于分布式推送的云監(jiān)控方法及裝置的實(shí)施例來(lái)具體說(shuō)明各模塊的工作過(guò)程,本領(lǐng)域技術(shù)人員能夠很容易想到,將這些模塊應(yīng)用到所述基于分布式推送的云監(jiān)控系統(tǒng)的其他實(shí)施例中。當(dāng)然,由于所述基于分布式推送的云監(jiān)控方法及裝置實(shí)施例中的各個(gè)步驟均可以相互交叉、替換、增加、刪減,因此,這些合理的排列組合變換之于所述基于分布式推送的云監(jiān)控系統(tǒng)也應(yīng)當(dāng)屬于本發(fā)明的保護(hù)范圍,并且不應(yīng)將本發(fā)明的保護(hù)范圍局限在所述實(shí)施例之上。
[0175]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于分布式推送的云監(jiān)控方法,其特征在于,包括: 將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由; 運(yùn)行監(jiān)控守護(hù)進(jìn)程; 分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù); 將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,運(yùn)行監(jiān)控守護(hù)進(jìn)程的步驟之前還包括: 運(yùn)行監(jiān)控后臺(tái)進(jìn)程,進(jìn)行初始化處理,并返回初始化數(shù)據(jù);以及, 從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心的步驟包括: 當(dāng)網(wǎng)絡(luò)中斷時(shí),將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地; 當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),將存儲(chǔ)在本地的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述分別采集的數(shù)據(jù)存儲(chǔ)在本地的步驟中:本地存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則進(jìn)行滾動(dòng)存儲(chǔ)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí); 當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及, 識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
6.一種基于分布式推送的云監(jiān)控裝置,其特征在于,包括: 分類模塊,用于將待監(jiān)控云計(jì)算資源劃分為執(zhí)行具體任務(wù)的監(jiān)控虛擬機(jī)、負(fù)責(zé)提供監(jiān)控虛擬機(jī)的運(yùn)行環(huán)境的物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和負(fù)責(zé)監(jiān)控虛擬機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)的監(jiān)控路由; 監(jiān)控守護(hù)模塊,用于運(yùn)行監(jiān)控守護(hù)進(jìn)程; 數(shù)據(jù)采集模塊,用于分別采集所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心和監(jiān)控路由的數(shù)據(jù); 數(shù)據(jù)推送模塊,用于將所述分別采集的數(shù)據(jù)直接推送給云計(jì)算監(jiān)控中心。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括監(jiān)控后臺(tái)模塊,用于運(yùn)行監(jiān)控后臺(tái)進(jìn)程,對(duì)所述裝置本身和所述監(jiān)控虛擬機(jī)、物理主機(jī)、云平臺(tái)邏輯數(shù)據(jù)中心及監(jiān)控路由進(jìn)行初始化處理,并返回初始化數(shù)據(jù); 所述監(jiān)控守護(hù)模塊,還用于從云計(jì)算監(jiān)控中心下載監(jiān)控守護(hù)進(jìn)程。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括本地存儲(chǔ)模塊; 當(dāng)網(wǎng)絡(luò)中斷時(shí),所述本地存儲(chǔ)模塊用于存儲(chǔ)所述分別采集的數(shù)據(jù); 當(dāng)網(wǎng)絡(luò)恢復(fù)時(shí),所述數(shù)據(jù)推送模塊還用于將存儲(chǔ)在本地存儲(chǔ)模塊中的所述分別采集的數(shù)據(jù)分批推送給云計(jì)算監(jiān)控中心。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述本地存儲(chǔ)模塊中存儲(chǔ)的文件形式為文本格式,每個(gè)監(jiān)控信息數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)為文本中的一條文本數(shù)據(jù)信息;所述文本數(shù)據(jù)信息的條數(shù)具有預(yù)定上限值;當(dāng)文本數(shù)據(jù)信息的條數(shù)達(dá)到預(yù)定上限值,則所述本地存儲(chǔ)模塊還用于進(jìn)行滾動(dòng)存儲(chǔ)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述本地存儲(chǔ)模塊還用于為每條所述文本數(shù)據(jù)信息對(duì)應(yīng)設(shè)置推送標(biāo)識(shí);當(dāng)文本數(shù)據(jù)信息已被推送時(shí),修改推送標(biāo)識(shí);以及,識(shí)別所述推送標(biāo)識(shí),將已被推送的文本數(shù)據(jù)信息刪除。
11.一種基于分布式推送的云監(jiān)控系統(tǒng),其特征在于,包括:如權(quán)利要求6-10任意一項(xiàng)所述的基于分布式推送的云監(jiān)控裝置、云計(jì)算監(jiān)控中心以及待監(jiān)控云計(jì)算資源。
【文檔編號(hào)】H04L29/08GK103780696SQ201410032576
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2014年1月23日 優(yōu)先權(quán)日:2014年1月23日
【發(fā)明者】楊金鋒, 吳烜 申請(qǐng)人:北京榮之聯(lián)科技股份有限公司