趙 震,張藝童,龍繼元
(西南科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 四川 綿陽 621000)
當(dāng)前,國內(nèi)外對(duì)于服務(wù)器日志監(jiān)控及可視化分析都有一定研究,服務(wù)器產(chǎn)生以及應(yīng)用程序的日志信息都具有極大的研究價(jià)值。服務(wù)器的運(yùn)行狀態(tài)以及狀態(tài)預(yù)測(cè),都可基于日志分析得來。此時(shí),針對(duì)日志文件的自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),就顯得尤為重要。它在發(fā)現(xiàn)問題、提高系統(tǒng)穩(wěn)定性、分析系統(tǒng)性能等方面發(fā)揮著巨大的作用[1]。
本系統(tǒng)主要采用BSC(Browser-Server-Client)架構(gòu)對(duì)nginx產(chǎn)生的日志進(jìn)行采集和監(jiān)控,采集主要采用定時(shí)腳本方式進(jìn)行,將采集后的數(shù)據(jù)進(jìn)行有效的劃詞并存儲(chǔ)在mysql數(shù)據(jù)庫中,同時(shí),在劃詞方式中,系統(tǒng)支持二次開發(fā)引入個(gè)性化的處理。解決了業(yè)務(wù)數(shù)據(jù)的收集難、存儲(chǔ)和分析困難的問題[2]。
日志監(jiān)控系統(tǒng)主要采用BSC(Browser-Server-Client)架構(gòu)進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了日志數(shù)據(jù)的采集、分析、存儲(chǔ)、展示等功能。系統(tǒng)的體系設(shè)計(jì)如圖1所示。
圖1 體系設(shè)計(jì)圖
數(shù)據(jù)庫設(shè)計(jì)主要分為用戶管理、錯(cuò)誤日志管理、訪問日志管理、應(yīng)用程序日志管理四個(gè)部分。對(duì)于應(yīng)用程序日志管理模塊,可根據(jù)不同的應(yīng)用程序日志格式進(jìn)行特定數(shù)據(jù)表設(shè)計(jì),設(shè)計(jì)方式同錯(cuò)誤和訪問日志。訪問日志數(shù)據(jù)表設(shè)計(jì)如表1所示,用戶管理數(shù)據(jù)表設(shè)計(jì)如表2所示。
表1 訪問日志數(shù)據(jù)表
表2 用戶管理數(shù)據(jù)表
后臺(tái)模塊主要分為用戶管理,內(nèi)容管理,定時(shí)任務(wù)管理三大模塊。用戶管理含用戶登錄,用戶注冊(cè)等功能。內(nèi)容管理含服務(wù)器日志監(jiān)控、應(yīng)用程序日志監(jiān)控。定時(shí)任務(wù)兼容linux和windows兩種環(huán)境。windows采用bat方式執(zhí)行腳本,linux采用cron方式執(zhí)行腳本,從而采集服務(wù)器產(chǎn)生的日志數(shù)據(jù)。
測(cè)試環(huán)境下,系統(tǒng)采集數(shù)據(jù)為nginx1.2的error.log和access,log數(shù)據(jù),其格式分別如下。
例access.log:(遠(yuǎn)程地址--訪問時(shí)間 方式 URL 瀏覽器信息)
127.0.0.1 --[06/Mar/2018:19:31:16 +0800] "GET/test.php HTTP/1.1" 200 80530 "-" "Mozilla/5.0(Windows NT WOW64) AppleWebKit/537.36(KHTML,like Gecko) Chrome/64.0.3282.186"
例error.log:(時(shí)間 錯(cuò)誤級(jí)別 錯(cuò)誤代號(hào) 錯(cuò)誤詳細(xì)信息 客戶端地址 服務(wù)端地址等)
2018/03/06 19:31:16[error]7728#14144:CreateFile()"D:/phpstorm/projects/favicon.ico" failed (2:The system cannot find the file specified),client:127.0.0.1,server:localhost
分析展示,采用數(shù)據(jù)文本和可視化兩種方式進(jìn)行。部分展示結(jié)果如圖2。數(shù)據(jù)文本展示系統(tǒng)采用劃詞方式進(jìn)行關(guān)鍵信息的出采集;可視化展示,系統(tǒng)以劃詞后的關(guān)鍵字為索引,進(jìn)行分類統(tǒng)計(jì),從而得出不同類型錯(cuò)誤或訪問信息的比例等,并以多種圖表的方式將其展示出來。
圖2 可視化展示1
本系統(tǒng)主要采用定時(shí)讀取、劃詞存儲(chǔ)、關(guān)鍵詞分析等方式,實(shí)現(xiàn)對(duì)日志信息的有效分析和可視化展示。系統(tǒng)運(yùn)行效果穩(wěn)定,界面友好,配置方便且易于使用,對(duì)于服務(wù)器管理以及相關(guān)應(yīng)用程序的監(jiān)控都具有良好的實(shí)際應(yīng)用價(jià)值和參考意義。