陳宜榮
(江蘇省徐州經(jīng)貿(mào)高等職業(yè)學校 江蘇 徐州 221004)
現(xiàn)階段,我國很多企業(yè)已經(jīng)構建了信息資源集成云管理系統(tǒng),在一定程度上達到了虛擬化小型設備、PC 服務器和存儲等相關設備的目的,亦開展了相應的系統(tǒng)運維工作。針對這一方向,學者們同樣做出了相應的研究,曾波[1]探究了云環(huán)境下信息系統(tǒng)運維管理發(fā)展情況,對服務器虛擬化架構和智能運維系統(tǒng)框架做出闡述,進一步明確傳統(tǒng)運維模式在向云計算轉(zhuǎn)型時存在的問題,探索基于云環(huán)境的信息系統(tǒng)智能運維模式;麻建等[2]對云環(huán)境下的信息系統(tǒng)運維模式進行闡述,確定其運維體系及管理模式,亦對后期運維工作所需考慮的重點工作進行相應展望。然而,云計算技術目前正在采用“能力分散化、管理集中化”的方式?jīng)_擊信息系統(tǒng)架構及其運營,在信息系統(tǒng)的推廣以及使用過程中,核心虛擬化技術在很大程度上加大了傳統(tǒng)運維工作的難度,諸多基礎設備以及通用軟硬件平臺呈現(xiàn)出幾何式的增長之勢,信息系統(tǒng)所用監(jiān)控和數(shù)據(jù)分析方式已經(jīng)無法有效滿足其運維要求。對此,需要以大數(shù)據(jù)技術為支持轉(zhuǎn)變以往運維方式,切實提升信息系統(tǒng)運維智能化水,在緩解運維壓力的同時為運維質(zhì)量提供可靠保證。因此,本文研究一種云計算環(huán)境下的大數(shù)據(jù)信息系統(tǒng)運維模式,通過跟蹤與分析云平臺信息系統(tǒng)日志,達到優(yōu)化資源管理的重要目的,在大數(shù)據(jù)技術運維支持下最大限度地節(jié)省成本支出,提供更為優(yōu)質(zhì)的信息化服務。
在虛擬化技術持續(xù)發(fā)展的過程中,信息系統(tǒng)運維技術隨之發(fā)生了很大的變化,在此過程中,云計算應用普及程度越來越高,運維人員不僅要具備足夠的傳統(tǒng)運維知識與技能,還要對信息系統(tǒng)中各項業(yè)務資源的使用特點有一個全面與細化的認知,例如將信息系統(tǒng)到底屬于計算型、內(nèi)存型、IO 型還是存儲型等確定下來,此外,還要做好各種相關資源的規(guī)劃工作,對擴容規(guī)則做出具體的定義。由此,信息系統(tǒng)全部硬件資源的調(diào)配都需要很多的服務器運行數(shù)據(jù)為其提供重要支撐,這就為大數(shù)據(jù)技術的有效運用開辟極大的空間。以大數(shù)據(jù)技術為支持,對各種類型的運維指標進行定義,同時,執(zhí)行日志的統(tǒng)一收集任務,在mongoDB 等非關系型數(shù)據(jù)庫的運行支持下完成對多樣性數(shù)據(jù)的保存工作,將全部數(shù)據(jù)一同寫入Hadoop 集群,進一步地,從更多維度離線式分析收集到的各類數(shù)據(jù),進行曲線圖的繪制,與先前完成定義的指標作比對,建立起和監(jiān)控報警系統(tǒng)之間的關聯(lián),最終將監(jiān)控數(shù)據(jù)中心性能以及預測其可用性趨勢的作用全面、有效地發(fā)揮出來。
在云計算環(huán)境下,以大數(shù)據(jù)技術為基礎的信息系統(tǒng)運維平臺主要包括4 個功能模塊,分別為采集器、數(shù)據(jù)存儲、大數(shù)據(jù)分析與展示(圖1),依次對應于大數(shù)據(jù)應用下的數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)分析與挖掘以及數(shù)據(jù)信息展示4 個重要環(huán)節(jié)。
采用分布式采集方式,動態(tài)性地執(zhí)行分布式采集任務,采集頻率高,對所有能夠采集到的數(shù)據(jù)進行抓取,例如,抓取主機和網(wǎng)絡等運行信息、采集網(wǎng)絡交換機接口流量、讀寫存儲池等。
該模塊進一步劃分為兩個子模塊,分別為結構化數(shù)據(jù)庫MySQL[3]與非結構化數(shù)據(jù)庫MongoDB[4]。其中,前者對系統(tǒng)配置信息與數(shù)據(jù)中心下的基礎設施基本信息進行存儲,數(shù)據(jù)量比較小,結構較為穩(wěn)定,不會發(fā)生明顯變動;后者則用于基礎設施運行數(shù)據(jù)以及日志信息的存儲,數(shù)據(jù)產(chǎn)生頻率和實時性要求都比較高,結構不穩(wěn)定。通過搭配使用結構化與非結構化兩類數(shù)據(jù)庫,可以有效發(fā)揮其互補優(yōu)勢。
其為整個信息系統(tǒng)運維平臺中最為核心的一個模塊,主要是對收集到的各類信息進行全面與準確分析。模塊采用Hadoop 結構,Hadoop 對任務進行調(diào)度,同時,執(zhí)行對分布式文件的存儲任務,Spark 將數(shù)據(jù)放置于內(nèi)存中,并通過MapReduce 完成計算任務。Hadoop 結構可以有效提高數(shù)據(jù)處理效率,有利于日志分析實時性要求的有效滿足,此外,亦可以在數(shù)據(jù)庫中存儲計算結果,既能避免重復計算問題的發(fā)生,又可以為用戶查詢提供便利。
運用圖表工具,通過圖形化的方式完成對監(jiān)控系統(tǒng)、大數(shù)據(jù)和各渠道收集與處理的數(shù)據(jù)的展示任務,用可視化的圖形更加直觀與形象地反映原本抽象的運維數(shù)據(jù),實現(xiàn)對各基礎資源運行狀況以及具體分析結果的展現(xiàn),增強數(shù)據(jù)信息可理解性,加強技術與非技術人員的共同關注。
數(shù)據(jù)采集模塊的主要功能在于對原始數(shù)據(jù)進行采集,各組件從自身監(jiān)控的硬件或軟件設備中采集原始數(shù)據(jù),并將這些數(shù)據(jù)存儲至本地數(shù)據(jù)庫中。在此基礎之上,數(shù)據(jù)分析模塊結合具體的業(yè)務場景分析與匯總所有的原始數(shù)據(jù),完成對不同場景下各類報表的實時與準確展示。數(shù)據(jù)匯總分析對定時與事件觸發(fā)相結合的方式加以采用,圖2 為數(shù)據(jù)采集模塊架構示意圖。
采集控制中心在整個數(shù)據(jù)采集模塊中發(fā)揮著中樞的作用,其功能體現(xiàn)在管理與監(jiān)控之上。(1)采集器監(jiān)控管理:主要是注冊、修改、刪除、啟用或禁用采集器,此外,亦需要對采集器的實際運行狀態(tài)進行監(jiān)控。(2)采集任務分配:主要是向各個采集器下達事先設定好的采集任務,為數(shù)據(jù)的準確與高效采集提供支持,若某一采集器出現(xiàn)異?;蚬收?,自動轉(zhuǎn)移其采集任務至其他相關類型的健康采集器上,確保數(shù)據(jù)采集能夠滿足連貫性要求。(3)在采集任務的進行中,采集器扮演的是實際執(zhí)行者的重要角色,部署方式為分布式部署,啟用與禁用都非常靈活。(4)心跳信息發(fā)送:采集器按時向采集控制中心發(fā)送自身的健康信息數(shù)據(jù),保證采集控制中心對采集器監(jiān)控的實時性與準確性,結合采集器的實際情況,采集控制中心作出是否轉(zhuǎn)發(fā)采集任務的決定。(5)接收采集任務:對采集控制中心下達的采集任務進行接收。(6)數(shù)據(jù)采集:基于采集控制中心下達的采集指令,執(zhí)行對目標設備實際數(shù)據(jù)信息的采集任務,同時,向數(shù)據(jù)庫引擎發(fā)送采集數(shù)據(jù),由數(shù)據(jù)庫引擎進行數(shù)據(jù)的存儲。
數(shù)據(jù)庫存儲組件主要是為了應對MySQL 與MongoDB 存儲而設計的接口,以采集到的數(shù)據(jù)類別為依據(jù),調(diào)用采集系統(tǒng)對應的接口,持久化至對應數(shù)據(jù)庫,此任務按照以下步驟來完成:(1)對采集數(shù)據(jù)進行結構化與非結構化兩種不同類型的判斷,確定執(zhí)行具體存儲任務的數(shù)據(jù)庫類型;(2)根據(jù)存儲數(shù)據(jù)類型與數(shù)據(jù)庫的不同,按照對應的格式對數(shù)據(jù)進行處理;(3)完成對數(shù)據(jù)庫存儲接口的調(diào)用任務,將其持久化至對應數(shù)據(jù)庫。數(shù)據(jù)存儲模塊流程圖見圖3。
在信息系統(tǒng)運維平臺中,大數(shù)據(jù)分析模塊是其最為核心的一個模塊,該模塊采用分布式系統(tǒng)架構。采用原因在于分布式系統(tǒng)容錯率比較高,當運行于x86 架構的PC 機與服務器上時,可以很好地發(fā)揮出降低服務器成本的作用。
Hadoop 平臺是以Google 分布式系統(tǒng)為基礎的開源實現(xiàn),包括HDFS、MapReduce、Hive 等基本組件。(1)HDFS,即Hadoop 分布式文件系統(tǒng)(Hadoop Distributed File System),是一種對集群網(wǎng)絡中多臺計算機存儲進行管理的分布式文件系統(tǒng),可在普通商用服務器節(jié)點上部署,容錯性能強,可靠性高。HDFS 遵循流式數(shù)據(jù)訪問的設計思路,在犧牲部分一致性的條件下,實施一次寫入、多次讀取大數(shù)據(jù)的模式,達到高速訪問數(shù)據(jù)的目的。(2)MapReduce。一種用于并行處理的數(shù)據(jù)模型,可在多個計算節(jié)點進行大規(guī)模計算分析任務的分配,提高統(tǒng)計分析任務的效率。圖4 為MapReduce 計算模型[5]。輸入數(shù)據(jù)接收系統(tǒng)的分片處理,每個輸入分片啟動一個單獨的Map 任務,并生成多個鍵值對,在本地硬盤中進行存儲。Map 后的結果經(jīng)網(wǎng)絡傳輸由運行Reduce 任務的節(jié)點接收,Reduce 函數(shù)對其進行合并處理,并將最終的結果保存于HDFS 中。(3)Hive。構建于Hadoop 上的數(shù)據(jù)倉庫框架,可將HiveQL 查詢有效地轉(zhuǎn)換為MapReduce 任務,便于不熟悉Java 與MapReduce 程序開發(fā)的工程師利用Hadoop進行海量數(shù)據(jù)的統(tǒng)計與分析,減小HiveQL 程序向Hadoop 平臺移植的難度。
基于Hadoop 架構的支持,在對大數(shù)據(jù)進行處理之時,任務可以被分布式計算和分解,同時運行于多個節(jié)點之上,就算是集群上某一服務器出現(xiàn)錯誤,在其他服務器上依舊可以有效保持正常工作狀態(tài),整個過程并不會出現(xiàn)中斷的狀況。
針對已經(jīng)存儲下來的各項數(shù)據(jù),信息系統(tǒng)維護平臺會將其提取至HDFS 上,進一步地,Spark 與計算任務所提要求相結合獲取相應數(shù)據(jù),并確定具體的算法模型,執(zhí)行對數(shù)據(jù)的統(tǒng)計分析任務,最終以圖表的方式將具體的分析結果展示于界面之上。
在完成對信息系統(tǒng)運維平臺的開發(fā)任務以后,需要對其功能作相應測試,判斷平臺各模塊能否正常運行,以此為基礎驗證平臺是否可以滿足使用所需[6]。測試過程中,由于信息系統(tǒng)運維平臺運行于云計算環(huán)境之下,以大數(shù)據(jù)技術為支持,因而僅需在PC 機上執(zhí)行對平臺各項功能的測試任務即可。此處以基于信息系統(tǒng)運維平臺的設備監(jiān)控功能模塊為例,該模塊能夠?qū)\行著各種操作系統(tǒng)的服務器自身硬件設備諸多指標信息,如主板、中央處理器、內(nèi)存、硬板以及電源等利用率、傳輸速率等進行監(jiān)控,有利于服務器設備使用高峰期以及空檔期的掌握,以此為基礎,平臺使用人員可以及時采取應對措施,對高峰期服務器資源使用率過高導致的信息系統(tǒng)運行速度變慢等相關問題的發(fā)生加以規(guī)避。經(jīng)測試,設備監(jiān)控功能模塊測試合格(圖5),意味著此模塊開發(fā)可用性比較理想[7-8]。
本文對云計算環(huán)境下以大數(shù)據(jù)智能為支持的信息系統(tǒng)運維平臺展開研究,可以實現(xiàn)對傳統(tǒng)運維流程的優(yōu)化以及工作效率的提升,不僅有利于日常開支的節(jié)省以及管理人員作業(yè)量的減小,還對信息系統(tǒng)各項相關資源加以優(yōu)化。信息系統(tǒng)運維平臺對諸多運維監(jiān)測數(shù)據(jù)進行收集,通過分析這些數(shù)據(jù),在很大程度上為準確性與合規(guī)性提供保證,使檢查運維作業(yè)的開展更為簡便,亦為未來云計算環(huán)境下以大數(shù)據(jù)技術為支持的信息系統(tǒng)運維平臺升級與擴容奠定了基礎。