張雪堅,張 榆,釧 濤,呂 垚,向華偉
(云南電網(wǎng)有限責(zé)任公司 信息中心,云南 昆明 650217)
經(jīng)過多年的信息化建設(shè),云南電網(wǎng)信息中心已建成并運行著上百個信息系統(tǒng)。其中,ITSM、IT集中運行監(jiān)控、ZABBIX等系統(tǒng)負(fù)責(zé)各類信息系統(tǒng)穩(wěn)定運行所依賴的硬件環(huán)境進(jìn)行監(jiān)控[1]。然而,目前各監(jiān)控系統(tǒng)所產(chǎn)生的海量監(jiān)控數(shù)據(jù)分別存儲在各自的專有數(shù)據(jù)庫中,數(shù)據(jù)共享難度大。無法對海量數(shù)據(jù)進(jìn)行有效存儲、處理及分析;無法提供大數(shù)據(jù)環(huán)境下全方位、全類型的數(shù)據(jù)存儲及處理服務(wù)。無法為數(shù)據(jù)資產(chǎn)深度分析挖掘提供有效的數(shù)據(jù)支撐[2]。為解決以上問題,本文討論了基于大數(shù)據(jù)技術(shù)的運維數(shù)據(jù)管理系統(tǒng)的建設(shè)方法,以充分發(fā)揮大數(shù)據(jù)技術(shù)在數(shù)據(jù)存儲、并行計算、大規(guī)模數(shù)據(jù)分析挖掘等方面的優(yōu)勢。
IT運維數(shù)據(jù)分散在IT運維管控平臺、IT集中運行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中,如表1所示。
表1 數(shù)據(jù)現(xiàn)狀
根據(jù)對云南電網(wǎng)信息中心各類監(jiān)控系統(tǒng)及監(jiān)控數(shù)據(jù)的調(diào)研分析,設(shè)計了基于大數(shù)據(jù)技術(shù)的IT運維數(shù)據(jù)管理系統(tǒng)總體架構(gòu),包括數(shù)據(jù)集成、數(shù)據(jù)存儲、數(shù)據(jù)計算、數(shù)據(jù)訪問4個層次。IT運維數(shù)據(jù)管理系統(tǒng)總體架構(gòu),如圖1所示。
圖1 IT運維數(shù)據(jù)管理系統(tǒng)邏輯架構(gòu)
(1)數(shù)據(jù)集成層。該層主要實現(xiàn)了從IT運維管控平臺、IT集中運行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中抽取結(jié)構(gòu)化非實時數(shù)據(jù)、結(jié)構(gòu)化實時數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),并完成數(shù)據(jù)清洗、校驗和處理功能[3];
(2)數(shù)據(jù)存儲層。該層采用了分布式文件系統(tǒng)、列式數(shù)據(jù)庫、分布式關(guān)系數(shù)據(jù)庫等多種數(shù)據(jù)庫。數(shù)據(jù)集成層按照數(shù)據(jù)類型、數(shù)據(jù)應(yīng)用需求將數(shù)據(jù)存儲到不同的文件系統(tǒng)中[4]。從功能上將數(shù)據(jù)存儲層劃分為ODS緩沖區(qū)、統(tǒng)一信息視圖區(qū)、數(shù)據(jù)倉庫、數(shù)據(jù)集市、實時數(shù)據(jù)存儲區(qū)、非結(jié)構(gòu)化數(shù)據(jù)存儲區(qū)[5];
(3)數(shù)據(jù)計算層。該層用于對數(shù)據(jù)進(jìn)行加工處理,為滿足各類數(shù)據(jù)分析應(yīng)用的不同時效性需求,計算層采用離線批量計算和實時在線計算兩種不同的計算方式;
(4)數(shù)據(jù)應(yīng)用層。該層用于將系統(tǒng)中清洗后的數(shù)據(jù)及計算處理后的結(jié)果數(shù)據(jù)集按照數(shù)據(jù)使用需求分配使用權(quán)限[6]。
IT運維數(shù)據(jù)管理系統(tǒng)以分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)為基礎(chǔ),利用優(yōu)化封裝的Sqoop、Presto、Hive、Flume、Kafka等大數(shù)據(jù)插件實現(xiàn)系統(tǒng)各層功能,構(gòu)建高保障、高性能的運維數(shù)據(jù)管理平臺。
數(shù)據(jù)集成層主要實現(xiàn)對IT運維管控平臺、IT集中運行監(jiān)控系統(tǒng)、ZABBIX系統(tǒng)中的各類運維監(jiān)控數(shù)據(jù)的集成。同時,按照數(shù)據(jù)質(zhì)量規(guī)則對海量數(shù)據(jù)進(jìn)行檢驗、清洗[7]。信息中心的IT運維數(shù)據(jù)具有典型的大數(shù)據(jù)多樣性特征,有結(jié)構(gòu)化實時監(jiān)控數(shù)據(jù)、非結(jié)構(gòu)化日志文本數(shù)據(jù)、結(jié)構(gòu)化設(shè)備臺賬數(shù)據(jù)等。針對不同類型的數(shù)據(jù)采用了不同的數(shù)據(jù)集成工具,系統(tǒng)采用Kettle、Sqoop兩種方式對結(jié)構(gòu)化設(shè)備臺賬類數(shù)據(jù)進(jìn)行數(shù)據(jù)集成;采用Kafka工具完成結(jié)構(gòu)化實時監(jiān)控數(shù)據(jù)的集成;采用Flume工具對非結(jié)構(gòu)化文本數(shù)據(jù)進(jìn)行集成,實現(xiàn)了全類型數(shù)據(jù)的集成[8]。各類運維監(jiān)控數(shù)據(jù)集中管理是為了后期的計算、分析使用,數(shù)據(jù)質(zhì)量的優(yōu)劣直接影響到后期數(shù)據(jù)應(yīng)用的準(zhǔn)確性與真實性。因此,針對數(shù)據(jù)集成過程按照數(shù)據(jù)質(zhì)量規(guī)則檢測出的“問題”數(shù)據(jù),如數(shù)據(jù)值明顯錯誤、值異常、值缺失,選用定制化方法進(jìn)行數(shù)據(jù)整改,使IT運維數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)均為“干凈”數(shù)據(jù),保障了系統(tǒng)中數(shù)據(jù)在后期應(yīng)用、計算的準(zhǔn)確性與真實性[9]。
數(shù)據(jù)存儲層采用分布式文件系統(tǒng)(HDFS)存儲方式,HDFS分布式存儲具有高擴展性、高可靠、高容錯、高吞吐等特性,不僅為海量IT運維數(shù)據(jù)存儲提供了保障,同時也為大數(shù)據(jù)家族其他插件的使用提供了良好的支撐[10]。IT運維數(shù)據(jù)管理系統(tǒng)的存儲層劃分為ODS數(shù)據(jù)緩沖區(qū)、統(tǒng)一信息視圖區(qū)、數(shù)據(jù)倉庫、數(shù)據(jù)集市、實時數(shù)據(jù)存儲區(qū)、非結(jié)構(gòu)化數(shù)據(jù)存儲區(qū)6個區(qū)域。
(1)ODS數(shù)據(jù)緩沖區(qū):該區(qū)采用MySQL數(shù)據(jù)庫作為結(jié)構(gòu)化數(shù)據(jù)臨時存儲媒介。MySQL是可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫,其支持多線程、多處理器、多用戶,可充分利用CPU資源,同時也是完全跨平臺數(shù)據(jù)庫軟件[11];
(2)統(tǒng)一信息視圖區(qū):該區(qū)以MySQL關(guān)系型數(shù)據(jù)庫作為結(jié)構(gòu)化清洗整合存儲媒介;
(3)數(shù)據(jù)倉庫:數(shù)據(jù)倉庫的目的是構(gòu)建面向分析的集成化數(shù)據(jù)環(huán)境,為企業(yè)提供決策支持,其采用了Hive作為結(jié)構(gòu)化數(shù)據(jù)存儲媒介[12]。Hive是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。其提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種集存儲、查詢和分析于一身存儲在 Hadoop 中的大規(guī)模數(shù)據(jù)管理機制;
(4)Presto是一個開源的分布式SQL查詢引擎,適用于交互式分析查詢,數(shù)據(jù)量支持GB到PB字節(jié)。Presto用于查詢存儲在HDFS、Hive中的數(shù)據(jù),其具有流水線方式查詢,支持ANSI SQL語法、多數(shù)據(jù)源交互查詢、學(xué)習(xí)成本低的特點,從而解決了Hive查詢效率高延時的問題;
(5)數(shù)據(jù)集市:數(shù)據(jù)集市的數(shù)據(jù)源主要來自數(shù)據(jù)倉庫,其主要從數(shù)據(jù)倉庫中提取數(shù)據(jù),分析計算部門所需的數(shù)據(jù),以滿足部門級的需求。數(shù)據(jù)集市采用PostgreSQL來支撐實時性要求較低的分析型數(shù)據(jù)的存儲應(yīng)用,PostgreSQL在數(shù)據(jù)存儲與數(shù)據(jù)訪問交互性上具有良好的特性,支持事務(wù)、子查詢、多版本并行控制系統(tǒng)(MVCC)、數(shù)據(jù)完整性檢查等特性[13];
(6)實時數(shù)據(jù)存儲區(qū):信息中心目前有海量的實時監(jiān)控數(shù)據(jù),實時數(shù)據(jù)采集與存儲采用Kafka+Hbase的方式,Hbase是基于Hadoop可擴展的分布式列式數(shù)據(jù)庫,具有高性能的海量數(shù)據(jù)實時讀寫能力。同時,key/value存儲模式能實現(xiàn)高速實時查詢能力;
(7)非結(jié)構(gòu)化數(shù)據(jù)存儲區(qū):信息中心的非結(jié)構(gòu)化數(shù)據(jù)主要為日志文件,分布式文件系統(tǒng)(Hadoop Distributed File System, HDFS)作為系統(tǒng)在非結(jié)構(gòu)化數(shù)據(jù)的存儲方案,Hadoop支持以流的形式訪問寫入的大型文件, 其維護多個工作數(shù)據(jù)副本,確保能夠針對失敗的節(jié)點重新分布處理[14]。
數(shù)據(jù)計算層為數(shù)據(jù)分析及其他數(shù)據(jù)引用提供分布式運行引擎和協(xié)同計算功能,包含離線批量計算與實時在線計算。
(1)離線批量計算采用大數(shù)據(jù)平臺的離線計算組件,該組件基于批量計算組件MapReduce、Spark進(jìn)行優(yōu)化封裝。MapReduce是一個單輸入、兩階段(Map和Reduce)的數(shù)據(jù)處理過程,支持大批量數(shù)據(jù)的離線計算、分析[14]。Spark基于內(nèi)存并行大數(shù)據(jù)處理框架,中間結(jié)果存放到內(nèi)存中,對于迭代數(shù)據(jù)Spark的效率更高,可幫助優(yōu)化整體數(shù)據(jù)處理流程大數(shù)據(jù)查詢的延遲計算;
(2)實時在線計算為流式計算,采用了大數(shù)據(jù)平臺流計算引擎組件,該組件基于Storm優(yōu)化封裝,Storm流式計算是一種高實時性的計算模式,其將一定時間窗口內(nèi)系統(tǒng)產(chǎn)生的流動數(shù)據(jù)直接導(dǎo)入內(nèi)存進(jìn)行實時計算,并從流動的、無序的數(shù)據(jù)中獲取有價值的信息輸出。
數(shù)據(jù)訪問層為數(shù)據(jù)分析應(yīng)用及其他數(shù)據(jù)應(yīng)用提供數(shù)據(jù)輸出,包含原始數(shù)據(jù)和匯總數(shù)據(jù)的訪問者權(quán)限管理、申請者注冊、資源管理。
(1)申請者注冊。將數(shù)據(jù)需求人員在系統(tǒng)中注冊相應(yīng)賬號;
(2)訪問者權(quán)限管理。對數(shù)據(jù)需求人員賬號進(jìn)行相應(yīng)的授權(quán)管理,包含的權(quán)限有查詢權(quán)限、修改權(quán)限;
(3)資源管理。對原始數(shù)據(jù)和匯總數(shù)據(jù)設(shè)置“更新頻度”、“推送頻度”。
本文采用了大數(shù)據(jù)技術(shù)構(gòu)建了云南電網(wǎng)信息中心的IT運維數(shù)據(jù)管理系統(tǒng),克服了傳統(tǒng)計算擴展性低、建設(shè)成本高、計算處理及分析挖掘能力有限的缺點,能滿足企業(yè)大數(shù)據(jù)環(huán)境下對全類型數(shù)據(jù)存儲、處理、分析及應(yīng)用的需求。從而實現(xiàn)了大數(shù)據(jù)環(huán)境下IT運維數(shù)據(jù)的集中整合、存儲、計算與應(yīng)用。
[1]高翔.大數(shù)據(jù)應(yīng)用的現(xiàn)狀及展望[J].電子世界,2016(18):32-33.
[2]張國棟,易歡歡,糜萬軍,等.大數(shù)據(jù)時代的歷史機遇:產(chǎn)業(yè)變革與數(shù)據(jù)科學(xué)[M].北京:清華大學(xué)出版社,2013.
[3]廖建新.大數(shù)據(jù)技術(shù)的應(yīng)用現(xiàn)狀與展望[J]. 電信科學(xué),2015,31(7):1-12.
[4]李國杰,程學(xué)旗.大數(shù)據(jù)研究:未來科技及經(jīng)濟社會發(fā)展的重大戰(zhàn)略領(lǐng)域-大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國科學(xué)院院刊,2012,27(6):647-657.
[5]楊炳忻.香山科學(xué)會議第420-424次學(xué)術(shù)討論會簡述[J].中國基礎(chǔ)科學(xué),2012(4): 22-29.
[6]姬倩倩,溫浩宇.公共交通大數(shù)據(jù)平臺架構(gòu)研究[J].電子科技,2015,28(2):127-130.
[7]劉偉祥,崔林山.公安交通管理大數(shù)據(jù)研判分析平臺框架研究[J].中國公共安全:學(xué)術(shù)版,2015(2):55-58.
[8]張東霞,苗新,劉麗平,等.智能電網(wǎng)大數(shù)據(jù)技術(shù)發(fā)展研究[J].中國電機工程學(xué)報, 2015(1):2-12.
[9]孫紅,郝澤明.大數(shù)據(jù)處理流程及存儲模式的改進(jìn)[J].電子科技,2015,28(12):167-172.
[10] Lucas Mearian.Shell oil targets hybrid cloud as fix for energy-saving,agile IT[J]. Computer World,2012(4):89-92.
[11] 李偉,趙春宇.油田勘探開發(fā)“大數(shù)據(jù)”管理及應(yīng)用[J].信息技術(shù),2013(4):196-198.
[12] 宋玉萍,仲梁維.基于Web的物料清單信息系統(tǒng)設(shè)計與實現(xiàn)[J].信息技術(shù),2015(9):67-71.
[13] 安俊秀,王鵬,靳宇倡.Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實踐[M].北京:人民郵電出版社,2015.
[14] 楊臣君,張欣,楊卓東.基于Hadoop的交通數(shù)據(jù)分析系統(tǒng)[J].電子科技,2017,30(4):156-158.