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