云監(jiān)控[1-2]涉及監(jiān)控基礎(chǔ)設(shè)施、平臺和定制指標(biāo)整個過程,可確保系統(tǒng)工作負(fù)載在最佳水平運行。云監(jiān)控主要用于分析系統(tǒng)中每個任務(wù)的內(nèi)存使用情況,有助于確定任務(wù)的使用模式,并允許在達(dá)到某些閾值時設(shè)置警報,以平衡工作負(fù)載并保持高可用性。云監(jiān)控數(shù)據(jù)分析[3]涉及大量信息的查詢和處理操作。在此過程中,需要從任意粒度范圍(例如以分鐘或小時聚合)中檢索特定屬性的數(shù)據(jù),以估計概率分布函數(shù)(probability distribution function,PDF),并預(yù)測未來的工作負(fù)載[4]。由于跟蹤的數(shù)量可能很大,隨著跟蹤數(shù)據(jù)的積累,這些操作需要一個可擴(kuò)展且可靠的云體系結(jié)構(gòu)。
為此,國內(nèi)外學(xué)者針對云監(jiān)控技術(shù)進(jìn)行了大量研究,并取得了豐碩成果。賴朝安等[5]研究了雙層隨機規(guī)劃的云監(jiān)控平臺定價策略,結(jié)合極點算法建立服務(wù)商與客戶之間的動態(tài)博弈模型。尹學(xué)淵等[6]提出了1種基于虛擬機內(nèi)存實時在線分析的虛擬機監(jiān)控技術(shù),實現(xiàn)了虛擬機細(xì)粒度狀態(tài)信息監(jiān)控。楊淑棉等[7]提出了一種基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a service,IaaS)模式下基于物理內(nèi)存分析的實時監(jiān)控取證方法,可實現(xiàn)虛擬機中的異常行為檢測,從而有效防止虛擬主機運行惡意軟件、違法犯罪等問題。上述方法僅針對各自領(lǐng)域的云監(jiān)控平臺進(jìn)行了研究,無法擴(kuò)展到其他數(shù)據(jù)集,模型可拓性有待提高。為了允許高級跟蹤數(shù)據(jù)分析,所設(shè)想的云體系結(jié)構(gòu)應(yīng)該適應(yīng)對任意跟蹤數(shù)據(jù)集的訪問。此外,云架構(gòu)需要一個基于萬維網(wǎng)(world wide web,Web)的界面來構(gòu)建結(jié)構(gòu)化的數(shù)據(jù)查詢,并顯示結(jié)果。
為此,本文在研究了集成云平臺和分布式計算基礎(chǔ)上,提出了一種包含雙層結(jié)構(gòu)的云監(jiān)控數(shù)據(jù)分析平臺,并對系統(tǒng)中數(shù)據(jù)密集型跟蹤分析的體系結(jié)構(gòu)和關(guān)鍵技術(shù)進(jìn)行研究。
云監(jiān)控數(shù)據(jù)分析平臺體系結(jié)構(gòu)如圖1所示。該結(jié)構(gòu)主要分為2個子系統(tǒng):其一為較小數(shù)據(jù)量提供數(shù)據(jù)分析方法的核心結(jié)構(gòu);其二為分析大型數(shù)據(jù)集提供有效分布式計算算法的擴(kuò)展結(jié)構(gòu)。
圖1 云監(jiān)控數(shù)據(jù)分析平臺體系結(jié)構(gòu)
Fig.1 Architecture of cloud monitoring data analysis platform
核心架構(gòu)可分為3層:頂層為智能搜索層;中間層為應(yīng)用程序接口(application programming interface,API);底層為云計算層(包括物理接口)。這3層相互作用,進(jìn)行工作負(fù)載跟蹤,并監(jiān)視任何異常模式。
核心結(jié)構(gòu)工作過程如圖2所示。
圖2 核心結(jié)構(gòu)工作過程框圖
Fig.2 Block diagram of core structure working process
智能搜索層為用戶提供了編輯分析、配置參數(shù)、啟動數(shù)據(jù)訪問和處理請求及顯示查詢結(jié)果等功能。該層提供了用戶與云平臺[8]交互的源,并充當(dāng)客戶端應(yīng)用程序與云平臺通信的API接口。用戶向云平臺發(fā)送服務(wù)請求,一旦認(rèn)證成功,將在客戶端上生成含有關(guān)分析結(jié)果的信息的查詢結(jié)果。此外,考慮到用戶感興趣的目標(biāo)不只一個,智能搜索模塊也提供類似于目錄的自動索引功能。
API層充當(dāng)連接智能搜索層和存儲跟蹤的云計算層的橋梁。API層的核心構(gòu)建在3個模塊上,即搜索模塊、分析包和頁面生成器。需要注意的是,系統(tǒng)所有資源都是通過超文本傳輸協(xié)議(hyper text transfer protocol,HTTP)發(fā)送處理請求。作為響應(yīng),可調(diào)用分析包。分析包利用搜索模塊提取感興趣的數(shù)據(jù)集。然后,搜索模塊通過HTTP,由云平臺的API向云服務(wù)商發(fā)送一個搜索查詢。當(dāng)返回數(shù)據(jù)后,分析包生成結(jié)果并向客戶端發(fā)送成功響應(yīng)通知。在接收到成功響應(yīng)時,系統(tǒng)將初始化另一個請求,以便通過HTTP協(xié)議繪制該特定數(shù)據(jù)集的預(yù)測數(shù)據(jù)。最后,系統(tǒng)發(fā)送一個生成頁面的請求,并調(diào)用頁面生成器模塊生成分析結(jié)果。
云計算層的數(shù)據(jù)接口主要進(jìn)行數(shù)據(jù)存儲和訪問,且基于云平臺主要使用切分和復(fù)制實現(xiàn)搜索、索引功能。此外,云計算層還包括眾多物理組件,如交換機、接口、數(shù)據(jù)庫等。
如果用戶想要監(jiān)控數(shù)據(jù)中的異常值,首先與智能搜索層交互,輸入所需的參數(shù)來啟動該過程。同時,智能搜索層交互將帶有指定參數(shù)的HTTP請求發(fā)送到特定Web服務(wù)。當(dāng)認(rèn)證成功,該服務(wù)立即建立連接,并從云平臺檢索所需數(shù)量的數(shù)據(jù)。最后,將這些數(shù)據(jù)處理的結(jié)果以頁面形式呈現(xiàn)給用戶。
云監(jiān)控數(shù)據(jù)分析平臺除核心架構(gòu)外,還擴(kuò)展了一個額外的組件,以便對大量數(shù)據(jù)集進(jìn)行復(fù)雜的計算。該組件由多個分布式復(fù)雜計算應(yīng)用程序復(fù)合構(gòu)成,用于管理和調(diào)度用戶應(yīng)用程序。擴(kuò)展結(jié)構(gòu)包含請求/接收資源管理器、數(shù)據(jù)節(jié)點組件(可連接到其他Hadoop分布式文件系統(tǒng)(hadoop distributed file system,HDFS)數(shù)據(jù)節(jié)點)和服務(wù)協(xié)議這3部分。擴(kuò)展結(jié)構(gòu)有利于用戶在Hadoop文件系統(tǒng)[9]中存儲數(shù)據(jù),并為用戶提供了高可用性和可擴(kuò)展的存儲功能。
擴(kuò)展結(jié)構(gòu)的工作過程如圖3所示。
圖3 擴(kuò)展結(jié)構(gòu)的工作過程框圖
Fig.3 Block diagram of extended structure working process
與核心結(jié)構(gòu)類似,用戶通過特定的輸入?yún)?shù)訪問數(shù)據(jù)頁面。然后,這些參數(shù)以HTTP請求的形式轉(zhuǎn)發(fā)到API中。API執(zhí)行請求,并將接收到的參數(shù)包裝為JSON消息[10]發(fā)送到云平臺的主節(jié)點。節(jié)點接收J(rèn)SON消息并將查詢請求提交給云服務(wù)商。需要注意的是,API中的請求發(fā)送模塊將以JSON格式編碼的消息傳遞到云平臺的主節(jié)點。同時,運行在云平臺主節(jié)點上的請求接收器模塊接收消息并對其進(jìn)行解碼。節(jié)點間的消息傳遞使用高級消息隊列協(xié)議(advanced message queuing protocol,AMQP)[11]執(zhí)行。當(dāng)成功完成任務(wù)后,云平臺將保存結(jié)果,并通過安全外殼協(xié)議(secure shell,SSH)將結(jié)果傳輸?shù)紸PI,并向用戶發(fā)送一個成功響應(yīng)。此外,API將發(fā)送另一個請求,從而為特定結(jié)果生成查詢頁面。
擴(kuò)展結(jié)構(gòu)還支持相應(yīng)的機器學(xué)習(xí)庫,如模糊C均值聚類算法[12],通過將跟蹤數(shù)據(jù)劃分成所需的集合來分析跟蹤數(shù)據(jù)。
由于現(xiàn)實環(huán)境中的數(shù)據(jù)大多為非結(jié)構(gòu)化數(shù)據(jù),導(dǎo)入系統(tǒng)時沒有直接可用于索引的功能,因此需要設(shè)計高效的數(shù)據(jù)索引方法。本文使用形式化語言自動為每個正在加載的記錄創(chuàng)建唯一id。自動生成的唯一id在架構(gòu)文件中的定義如下所示。
<name=″*″,class=″*″,index=″true″>
<uniqueKey>id<uniqueKey>
該定義中:“*”為省缺值,可自由定義;name為記錄的命名;class為記錄所屬類別;index為true時為可被索引,否則表示不可索引;id為記錄唯一標(biāo)識。
云平臺支持不同類型的數(shù)據(jù)上傳技術(shù),例如索引處理程序、結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)導(dǎo)入處理程序以及通過網(wǎng)絡(luò)上傳數(shù)據(jù)。
數(shù)據(jù)查詢通過HTTP請求發(fā)送到云平臺,請求包含集合名稱和數(shù)據(jù)量。例如,如果用戶打算從云平臺請求10 000條數(shù)據(jù)記錄,則查詢示例表示如下。
s=SearchOptions();s.query.rows('10000')
該示例中:SearchOptions為查詢操作函數(shù);s為其實例化。
需要注意的是,云平臺僅支持JSON格式的數(shù)據(jù)查詢操作。當(dāng)查詢完成后,將在HTTP響應(yīng)中返回查詢的數(shù)據(jù)集。返回的數(shù)據(jù)集由分析模塊進(jìn)一步處理。
本節(jié)通過案例驗證本文所提模型:通過分析跟蹤數(shù)據(jù),預(yù)測系統(tǒng)工作量,并了解時間序列中的運行模式。系統(tǒng)開發(fā)環(huán)境使用JAVA中的Spring框架作為輸入,開發(fā)架構(gòu)的工作原型,以跟蹤特定時間戳下海量搜索引擎數(shù)據(jù)庫服務(wù)器作業(yè)時的CPU和內(nèi)存使用情況。為簡化仿真過程,作如下假設(shè)。
①任務(wù)或作業(yè)名稱以數(shù)字標(biāo)志符進(jìn)行區(qū)分。
②CPU和內(nèi)存的消耗可通過線性變換模擬。
③任意大數(shù)據(jù)集的平均值服從正態(tài)分布。
本文采用Python庫實現(xiàn)了核心組件分析包中的CPU負(fù)載使用情況預(yù)測。
分析考慮10 000個數(shù)據(jù)點的數(shù)據(jù)集,將數(shù)據(jù)塊分成4個子塊,并令每個子塊的持續(xù)時間為L。預(yù)測CPU的負(fù)載是指在L的每個周期結(jié)束時,根據(jù)上一個子塊的趨勢及增長對下一個子塊CUP負(fù)載進(jìn)行預(yù)測。最后,利用三次指數(shù)平滑方法對長度為4L的時間序列數(shù)據(jù)進(jìn)行預(yù)測。圖4中,平滑常數(shù)α=0.2、β=0.2、γ=0.05。
核心結(jié)構(gòu)負(fù)載預(yù)測指數(shù)平滑結(jié)果如圖4所示。
圖4 核心結(jié)構(gòu)負(fù)載預(yù)測指數(shù)平滑結(jié)果
Fig.4 Exponential smoothing results of core structure load forecasting
擴(kuò)展組件分析結(jié)果如圖5所示。
圖5 擴(kuò)展組件分析結(jié)果
Fig.5 Extended component analysis results
如前文所示,擴(kuò)展組件分析時首先使用機器學(xué)習(xí)k-均值聚類算法對時間序列工作負(fù)載數(shù)據(jù)進(jìn)行分類,即將跟蹤數(shù)據(jù)分類為不同的k值。工作負(fù)載分類旨在發(fā)現(xiàn)跟蹤數(shù)據(jù)中任務(wù)事件的異常。本節(jié)在106個數(shù)據(jù)點上運行聚類算法,得到不同的k值,即4、8和12。由圖5可知,在監(jiān)控數(shù)據(jù)集中,代表任務(wù)CPU和內(nèi)存使用的大多數(shù)數(shù)據(jù)點的值都相當(dāng)?shù)汀_@些任務(wù)事件平均分別使用約0.001 6和0.003 1CPU和內(nèi)存。另一方面,只有較少的任務(wù)具有較高的CPU和內(nèi)存使用率,即平均分別為0.287和0.018。
為提高云監(jiān)控中數(shù)據(jù)分析能力,本文設(shè)計了包含雙層結(jié)構(gòu)的云監(jiān)控數(shù)據(jù)分析平臺。該平臺主要包含2個子系統(tǒng):其一為較小數(shù)據(jù)量提供數(shù)據(jù)分析方法的核心結(jié)構(gòu);其二為分析大型數(shù)據(jù)集提供有效分布式計算算法的擴(kuò)展結(jié)構(gòu)。該平臺為系統(tǒng)CPU及內(nèi)存使用分析過程提供了一定依據(jù)。
然而,本文系統(tǒng)在仿真時存在諸多限定,如數(shù)據(jù)集為模擬數(shù)據(jù)、系統(tǒng)運行時未考慮網(wǎng)絡(luò)攻擊等復(fù)雜行為。后續(xù)研究一方面可將大數(shù)據(jù)及人工智能技術(shù)引入系統(tǒng),進(jìn)一步提升系統(tǒng)預(yù)測能力;另一方面還可研究區(qū)塊鏈、信息安全等技術(shù),以滿足系統(tǒng)數(shù)據(jù)安全及防止數(shù)據(jù)泄漏等需求。
? 2019-2021 All rights reserved. 北京轉(zhuǎn)創(chuàng)國際管理咨詢有限公司 京ICP備19055770號-1
Beijing TransVenture International Management Consulting Co., Ltd.
地址:梅州市豐順縣留隍鎮(zhèn)新興路881號
北京市大興區(qū)新源大街25號院恒大未來城7號樓1102室
北京市海淀區(qū)西禪寺(華北項目部)
深圳市南山區(qū)高新科技園南區(qū)R2-B棟4樓12室
深圳市福田區(qū)華能大廈
佛山順德區(qū)北滘工業(yè)大道云創(chuàng)空間
汕頭市龍湖區(qū)泰星路9號壹品灣三區(qū)
長沙市芙蓉區(qū)韶山北路139號文化大廈
站點地圖 網(wǎng)站建設(shè):騰虎網(wǎng)絡(luò)
歡迎來到本網(wǎng)站,請問有什么可以幫您?
稍后再說 現(xiàn)在咨詢