胡聰+張靖+郭洋
【摘要】 云計算技術(shù)使軟件和硬件資源的共享成為現(xiàn)實,用戶的設(shè)備投資和管理投入大大減少,越來越多的應(yīng)用系統(tǒng)在云平臺上部署。云計算可以根據(jù)用戶需求提供資源,資源實行動態(tài)分配,不僅會丟失應(yīng)用程序日志,分布式日志是訪問也不方便。而日志信息對于系統(tǒng)的運行和維護(hù)具有重要的參考價值,因此,對云平臺的日志進(jìn)行統(tǒng)一管理是十分必要的。本文則基于大數(shù)據(jù)云計算的背景,對日志管理系統(tǒng)進(jìn)行了研究。
【關(guān)鍵詞】 自動化系統(tǒng) 網(wǎng)絡(luò) 端對端延時
一、概述
在大數(shù)據(jù)云計算背景下,在生產(chǎn)應(yīng)中產(chǎn)生了大量的分布式、易丟失的日志信息,如電力系統(tǒng)信息平臺的操作日志、登錄日志以及信息修改日志等,這些數(shù)據(jù)數(shù)量龐大且結(jié)構(gòu)特異,如何對其妥善存儲是需要解決的問題。傳統(tǒng)的數(shù)據(jù)庫對大量數(shù)據(jù)進(jìn)行處理時往往存在靈活性不高、水平擴(kuò)展力不足、處理性能不好的問題。云計算中產(chǎn)生的大量分布式日志并不是獨立單一的存在,其分析和處理需要綜合進(jìn)行。[1]本文通過對云計算環(huán)境下日志的特定和應(yīng)用需求,針對常規(guī)日志處理分析手段的不足,對新型的日志處理方案進(jìn)行了研究,對云應(yīng)用的大量數(shù)據(jù)進(jìn)行了采集、儲存和分析。
二、大數(shù)據(jù)日志管理系統(tǒng)的功能和結(jié)構(gòu)
根據(jù)日志管理系統(tǒng)的應(yīng)用需求,日志功能系統(tǒng)可以劃分為日志收集模塊、日志存儲模塊、日志分析模塊以及應(yīng)用交互模塊四個功能模塊。日志管理系統(tǒng)的功能結(jié)構(gòu)圖如下圖所示。
日志管理系統(tǒng)采集了系統(tǒng)中不同服務(wù)器、不同位置的各種日志信息并進(jìn)行了存儲和集中管理。日志數(shù)據(jù)的統(tǒng)一管理是日志管理的先決條件,工作人員可以在該數(shù)據(jù)庫的基礎(chǔ)上對日志執(zhí)行查看和簡單的分析處理,發(fā)揮日志的深層價值。日志收集模塊的功能在于日志信息的采集、輸送、集合,將其存入儲存模塊。日志存儲模塊具有存儲容量水平擴(kuò)展的能力,相對而言水平擴(kuò)展的性價比和擴(kuò)容能力更高,系統(tǒng)的分布式存數(shù)庫依靠PC機(jī)為儲存節(jié)點,采用冗余存儲的方式提高了系統(tǒng)的可靠性。副本集讀取和寫入相分離的方式在讀多寫少的日志管理系統(tǒng)中應(yīng)用,可以使讀寫壓力大大緩解。日志分析模塊在日志挖掘中采用分布式計算的方式,對單機(jī)分析日志的局限性問題進(jìn)行了很好的解決。應(yīng)用交互模塊把代碼邏輯分為視圖部分、控制器部分、數(shù)據(jù)模型三部分,三部分職責(zé)分明,系統(tǒng)的維護(hù)性和可擴(kuò)展性得到加強(qiáng)。視圖部分提供了用戶交互界面,對用戶的錄入操作進(jìn)行接收,并輸出操作結(jié)果。[2]數(shù)據(jù)模型部分對應(yīng)用程序數(shù)據(jù)邏輯進(jìn)行處理。控制器部分接收用戶請求,實現(xiàn)視圖和模型的有機(jī)配合,滿足客戶需求。
2.1日志收集模塊的功能和結(jié)構(gòu)
(1)日志收集模塊的功能。
1)分布式日志收集模塊具有較強(qiáng)的水平擴(kuò)展能力,可以收集大數(shù)據(jù)背景下產(chǎn)生的應(yīng)用日志,并根據(jù)對象的規(guī)模調(diào)整日志收集節(jié)點。
2)實時收集產(chǎn)生的日志,避免日志的丟失。
3)日志的收集和系統(tǒng)功能互不影響。
4)適應(yīng)性強(qiáng),能夠適應(yīng)各種形式的日志收集。
(2)日志收集模塊的結(jié)構(gòu)。
日志收集模塊的可靠性高、能效性強(qiáng),在數(shù)據(jù)收集的同時可以對其進(jìn)行簡單處理,日志收集模塊的結(jié)構(gòu)如下圖所示。
日志收集模塊主要由日志的收集、轉(zhuǎn)發(fā)和存儲三個層次組成。在云計算背景下,當(dāng)某個網(wǎng)絡(luò)設(shè)備被更換以后,其之前產(chǎn)生的所有日志信息都被日志采集進(jìn)程采集并進(jìn)行存儲。當(dāng)有新設(shè)備部署到網(wǎng)絡(luò)中后,日志采集進(jìn)程會自動部署采集進(jìn)程,采集新設(shè)備的運行日志。
2.2日志存儲模塊的功能和結(jié)構(gòu)
(1)日志存儲模塊的功能特點。
1)在大數(shù)據(jù)背景下的運行系統(tǒng)中,每天會產(chǎn)生海量的日志信息,這就要求存儲模塊具有高效的存儲和讀取能力。
2)運行系統(tǒng)產(chǎn)生的日志結(jié)構(gòu)復(fù)雜各異,因此,存儲模塊的數(shù)據(jù)庫具有無固定模式且水平擴(kuò)展能力強(qiáng)。
(2)日志存儲模塊的結(jié)構(gòu)。
日志存儲模塊在水平擴(kuò)展過程中,采用增加分片服務(wù)器的方式,提高系統(tǒng)的數(shù)據(jù)存儲能力。數(shù)量龐大的日志信息被在多個服務(wù)器上分布式存儲,數(shù)據(jù)的存儲情況對用戶是公開的,當(dāng)數(shù)據(jù)訪問請求發(fā)送到路由服務(wù)器時,首先通過配置服務(wù)器查詢數(shù)據(jù)存儲地址,根據(jù)產(chǎn)尋結(jié)果在分片服務(wù)器調(diào)取數(shù)據(jù)信息,并將結(jié)果整合后傳遞給用戶。[3]日志存儲模塊的結(jié)夠如下圖所示。
為提高系統(tǒng)的可靠性,日志存儲模塊的各級服務(wù)器都進(jìn)行了冗余備份,當(dāng)有服務(wù)器出現(xiàn)故障停止運行時,備份服務(wù)器就會接替故障服務(wù)器的工作,為確保服務(wù)器數(shù)據(jù)的一致性,服務(wù)器之間設(shè)有定時同步機(jī)制。為提高服務(wù)器的讀寫速率,分片服務(wù)器采用了讀寫分離的方式,并且數(shù)據(jù)的讀取選擇距離最近的節(jié)點,從而有效的降低了網(wǎng)絡(luò)延時。
2.3日志分析模塊的功能和結(jié)構(gòu)
(1)日志分析模塊的功能.
日志分析模塊將無法在單機(jī)模式下日這分析任務(wù)提交給數(shù)據(jù)庫集群,數(shù)據(jù)庫分布式集群節(jié)點計算能夠?qū)⑷罩痉治龅乃俣却蟠筇岣摺H罩痉治瞿K的工作流程如下圖所示。
(2)日志分析模塊的結(jié)構(gòu)。
日志分析模塊把大數(shù)據(jù)的日志文件拆分成數(shù)個小日志文件,在利用數(shù)據(jù)庫集群進(jìn)行統(tǒng)計計算,將計算結(jié)果進(jìn)行處理后存儲在數(shù)據(jù)庫集群中,最終通過交互模塊讀取并顯示。
2.4應(yīng)用交互模塊的功能和結(jié)構(gòu)
(1)應(yīng)用交互模塊的功能。
應(yīng)用交互模塊提供的操作界面是用戶與日志數(shù)據(jù)接觸通道接口,其可執(zhí)行日志的查詢導(dǎo)出等操作。應(yīng)用交互界面擦用數(shù)據(jù)顯示和業(yè)務(wù)邏輯編碼分離組織的框架,業(yè)務(wù)邏輯在一個部件聚集,在改進(jìn)和個性化設(shè)置用戶界面和交互性能的時不需要對業(yè)務(wù)邏輯進(jìn)行重新編寫。應(yīng)用程序之間的部件相互獨立,在進(jìn)行修改時互不影響,這種松耦合的構(gòu)造十分便于維護(hù)和管理。
(2)應(yīng)用交互模塊的結(jié)構(gòu)。
系統(tǒng)中應(yīng)用交互模塊的結(jié)構(gòu)采用MVC型,其框架類型為Codelgniter。該框架提供的標(biāo)準(zhǔn)庫內(nèi)容豐富且接口和邏輯結(jié)構(gòu)簡單。
其優(yōu)點有結(jié)構(gòu)小巧但性能出色,軟件的兼容性強(qiáng),可以和各種版本PHP兼容,不用使用命令行,缺少限制性編碼規(guī)則,簡單易操作。
三、大數(shù)據(jù)日志管理系統(tǒng)的應(yīng)用
將系統(tǒng)部署在電力企業(yè)信息處理服務(wù)器上,用于收集系統(tǒng)在生產(chǎn)運行過程中的日志信息。其部署圖如下所示。
日志收集節(jié)點將收集到的日志信息聚合儲存到數(shù)據(jù)庫集中,利用數(shù)據(jù)分析功能對其進(jìn)行處理后將處理結(jié)構(gòu)再次存儲到數(shù)據(jù)庫中,此時運行管理人員可以通過日志查詢管理界面度日志信息進(jìn)行進(jìn)行查詢,另外可以通過建立索引的方式加快大數(shù)據(jù)日志信息的查詢。
五、結(jié)論
本文通過對云計算環(huán)境應(yīng)用日志的特點分析,針對傳統(tǒng)日志處理方式的不足,結(jié)合用戶需求,本文對大數(shù)據(jù)日志管理系統(tǒng)的功能特點和結(jié)構(gòu)特點進(jìn)行了分析和研究。設(shè)計并實現(xiàn)的基于大數(shù)據(jù)的分布日志管理系統(tǒng)可以對大數(shù)據(jù)平臺產(chǎn)生的龐大日志信息進(jìn)行處理和分析。對大數(shù)據(jù)平臺的日志管理工作具有一定的參考意義。
參 考 文 獻(xiàn)
[1] 吳吉義,傅建慶,張明西等.云數(shù)據(jù)管理研究綜述[M].電信科學(xué),2010,26:39.
[2] 吳朱華.云計算核屯.技術(shù)剖析[M].人民郵電出版社.2011,12-14.
[3] 張華強(qiáng).關(guān)系數(shù)據(jù)庫與NoSQL數(shù)據(jù)庫[J].電腦知識與技術(shù),2011,31-34.