楊洪嬌 天津外國(guó)語大學(xué)
基于Hadoop的高校網(wǎng)絡(luò)日志分析平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
楊洪嬌 天津外國(guó)語大學(xué)
高校網(wǎng)絡(luò)資源不斷增加,大數(shù)據(jù)分析和應(yīng)用的不斷發(fā)展,如何充分利用高校網(wǎng)絡(luò)環(huán)境中的日志增強(qiáng)網(wǎng)絡(luò)管理水平,提高信息化服務(wù)能力成為研究方向,本文對(duì)高校網(wǎng)絡(luò)環(huán)境中的日志信息進(jìn)行分析,設(shè)計(jì)了網(wǎng)絡(luò)日志分析平臺(tái),對(duì)不同類型的日志提出了采集、存儲(chǔ)、分析的處理方案,實(shí)際部署表明該平臺(tái)適用場(chǎng)景廣泛,可為高校網(wǎng)絡(luò)日志分析提供良好的基礎(chǔ),為基于大數(shù)據(jù)的日志應(yīng)用提供可靠支撐。
Hadoop 網(wǎng)絡(luò)日志 數(shù)據(jù)分析
近年來高校信息化建設(shè)不斷發(fā)展,信息系統(tǒng)及校園網(wǎng)流量也日益增長(zhǎng)。各類網(wǎng)絡(luò)設(shè)備和信息系統(tǒng)的運(yùn)行日志、訪問日志等數(shù)量急劇增加,大量各類日志數(shù)據(jù)所蘊(yùn)含的信息如何有效利用,為各種高校管理及信息化建設(shè)提供優(yōu)化成為不得不考慮的問題,構(gòu)建一個(gè)高校網(wǎng)絡(luò)日志綜合分析平臺(tái),有助于為日志大數(shù)據(jù)分析利用提供基礎(chǔ)服務(wù),支撐未來資源優(yōu)化及信息化業(yè)務(wù)發(fā)展。
Hadoop技術(shù)是Apache基金會(huì)下的一個(gè)項(xiàng)目,旨在為大數(shù)據(jù)集提供一個(gè)分布式的計(jì)算框架,同時(shí)提供了簡(jiǎn)單易用的可編程模型。Hadoop技術(shù)有一系列相關(guān)項(xiàng)目實(shí)現(xiàn),包括HDFS文件系統(tǒng)、YARN作業(yè)調(diào)度系統(tǒng)、MapReduce并行計(jì)算系統(tǒng)等。
1.1 HDFS文件系統(tǒng)與Hive數(shù)據(jù)庫(kù)
HDFS是Hadoop分布式文件系統(tǒng),與現(xiàn)有其他分布式文件系統(tǒng)不同的是,HDFS具有高容錯(cuò)率和低成本的優(yōu)點(diǎn)。HDFS使用master/slave架構(gòu),NameNode作為master管理文件系統(tǒng)并控制客戶端訪問。DateNode作為slave響應(yīng)用戶的讀寫請(qǐng)求,HDFS文件存儲(chǔ)以block為單位,由DataNode存儲(chǔ)數(shù)據(jù)并執(zhí)行NameNode對(duì)block的創(chuàng)建、刪除、復(fù)制操作。
Hive數(shù)據(jù)倉(cāng)庫(kù)可使用SQL命令管理位于分布式存儲(chǔ)上的大量數(shù)據(jù),作為Hadoop項(xiàng)目的成員,Hive可集成HDFS文件系統(tǒng)中的文件,同時(shí)引入SQL語句高效地支持應(yīng)用開發(fā),降低了大數(shù)據(jù)應(yīng)用的開發(fā)難度。
1.2 MapReduce計(jì)算框架
MapReduce為快速進(jìn)行大數(shù)據(jù)并行計(jì)算提供了計(jì)算框架,MapReduce將計(jì)算任務(wù)分為Map階段和Reduce階段,Map階段將并行執(zhí)行讀取數(shù)據(jù)并計(jì)算,Hadoop對(duì)Map階段的輸出進(jìn)行合并和排序,輸出給Reduce階段計(jì)算并最終得到并行計(jì)算的結(jié)果。
MapReduce也 采 用 master/slave架 構(gòu),ResourceManager作為master管 理MapReduce計(jì) 算,NodeManager作為slave位于各計(jì)算節(jié)點(diǎn)。用戶在使用時(shí)只需制定處理的數(shù)據(jù)并提供Map及Reduce階段的計(jì)算程序即可。
1.3 Flume數(shù)據(jù)采集
Flume是一個(gè)分布式的大量日志采集與管理服務(wù),對(duì)異構(gòu)日志提供多種解決方案。結(jié)構(gòu)上,F(xiàn)lume采用Source、Channel、Sink的設(shè)計(jì),由Source響應(yīng)所配置數(shù)據(jù)源的日志事件,并將信息發(fā)送至Channel中,根據(jù)配置,與Channel相連的Sink將處理該Channel中的日志信息。Flume與Hadoop可以方便地進(jìn)行整合,Sink原生支持將日志信息存儲(chǔ)入HDFS中,為數(shù)據(jù)清洗及分析做準(zhǔn)備。
1.4 高校網(wǎng)絡(luò)日志分類
根據(jù)高校校園網(wǎng)絡(luò)環(huán)境及分析需求,高校網(wǎng)絡(luò)日志類型可分為如下兩大類:
(1)IT基礎(chǔ)設(shè)施日志。包括高校網(wǎng)絡(luò)中的軟硬件設(shè)備的運(yùn)行日志,如服務(wù)器硬件日志、服務(wù)器故障信息、網(wǎng)絡(luò)設(shè)備運(yùn)行狀態(tài)、Windows日志、Linux日志等。
(2)用戶行為日志。包括用戶使用校園網(wǎng)過程中產(chǎn)生的日志信息,如網(wǎng)站訪問日志、校園網(wǎng)連接記錄、校園一卡通使用日志等。
針對(duì)以上各種日志類型設(shè)計(jì)合理的日志采集與分析方案,并能整合各類日志,滿足日志快速增長(zhǎng)的需求,才能為后續(xù)日志綜合利用、精細(xì)化管理提供支撐。
2.1 日志采集
針對(duì)以上各類日志信息,日志采集模塊主要利用Flume進(jìn)行日志采集,F(xiàn)lume的Source模塊支持多種日志數(shù)據(jù)源。針對(duì)不同日志類型設(shè)計(jì)不同的采集方案。
對(duì)于網(wǎng)站訪問日志,可直接在網(wǎng)站服務(wù)器操作系統(tǒng)中部署FlumeAgent進(jìn)行日志采集,可以采用Flume的Exec數(shù)據(jù)源,使用自定義命令指定網(wǎng)站服務(wù)的日志文件,以監(jiān)聽日志文件的變化,實(shí)時(shí)生成日志事件進(jìn)行Flume采集。
對(duì)于操作系統(tǒng)日志及支持syslog的硬件設(shè)備,可以配置操作系統(tǒng)或硬件設(shè)備將日志以syslog格式發(fā)送至專用的FlumeAgent服務(wù),配置Flume的Source為Syslog模式即可。
對(duì)于不支持syslog格式的設(shè)備,需要根據(jù)情況進(jìn)行日志格式采集與轉(zhuǎn)換,如對(duì)SNMP協(xié)議信息采集可將SNMP數(shù)據(jù)采集后轉(zhuǎn)換為需要的格式通過網(wǎng)絡(luò)發(fā)送給指定的FlumeAgent,實(shí)現(xiàn)數(shù)據(jù)采集。
其他自定義設(shè)備和服務(wù),或需要采集特定業(yè)務(wù)的日志信息的服務(wù),可以采用開發(fā)自定義日志采集程序,對(duì)接FlumeAgent的模式,F(xiàn)lume支持Netcat數(shù)據(jù)源,可在指定端口上進(jìn)行數(shù)據(jù)監(jiān)聽,對(duì)收到的數(shù)據(jù)進(jìn)行日志采集。
2.2 日志數(shù)據(jù)清洗
利用Flume采集的網(wǎng)絡(luò)日志信息將存儲(chǔ)在HDFS中,但日志文件數(shù)據(jù)源眾多,數(shù)據(jù)格式多樣,需要對(duì)日志數(shù)據(jù)按照日志類型進(jìn)行分類整理并清理其中的錯(cuò)誤日志。
對(duì)網(wǎng)站訪問日志,首先對(duì)日志數(shù)據(jù)進(jìn)行建模,對(duì)需要的字段還需從原始日志中計(jì)算生成。然后清理日志數(shù)據(jù)的錯(cuò)誤信息。網(wǎng)站訪問日志模型的主要字段包括日志類型、源IP地址、請(qǐng)求日期、請(qǐng)求時(shí)間、返回類型、返回長(zhǎng)度、訪問的頁面。數(shù)據(jù)清洗環(huán)節(jié)主要使用MapReduce技術(shù),設(shè)計(jì)程序主要在Map階段對(duì)采集的日志進(jìn)行篩選和過濾,首先篩選出網(wǎng)站訪問日志,然后主要對(duì)日志的返回類型字段進(jìn)行過濾,只有返回類型是200的日志被記錄,其他異常類型被清洗掉。
對(duì)操作系統(tǒng)及硬件設(shè)備日志,其日志模型的主要字段包括日志類型、設(shè)備IP地址、事件日期、事件時(shí)間、事件級(jí)別、事件來源、詳細(xì)信息。數(shù)據(jù)清洗環(huán)節(jié)主要對(duì)數(shù)據(jù)中關(guān)鍵字段內(nèi)容不全的信息進(jìn)行過濾,保證日志數(shù)據(jù)的完整性。
2.3 日志存儲(chǔ)分析
日志存儲(chǔ)分析主要利用Hive數(shù)據(jù)庫(kù)進(jìn)行日志管理,同時(shí)保留HDFS日志文件,以同時(shí)支持SQL數(shù)據(jù)分析和MapReduce自定義程序的多種分析方法。Hive數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)建立在HDFS存儲(chǔ)之上。通過Hive根據(jù)日志數(shù)據(jù)建模的結(jié)果進(jìn)行數(shù)據(jù)表創(chuàng)建,將不同類別的日志數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的數(shù)據(jù)表中。在將日志導(dǎo)入到Hive數(shù)據(jù)庫(kù)的過程中需要程序讀取Flume傳輸?shù)紿DFS上的日志文件,對(duì)數(shù)據(jù)清洗后的日志文件進(jìn)行格式解析,判斷日志類型并存儲(chǔ)到相應(yīng)的數(shù)據(jù)表中。
2.4 分析展示
在網(wǎng)絡(luò)日志分析系統(tǒng)中最直觀的用戶呈現(xiàn)方式便是可視化展示,由于日志分析的展示需求在展示時(shí)間、展示形式等方面多種多樣,本文網(wǎng)絡(luò)日志分析平臺(tái)針對(duì)便捷使用和定制開發(fā)的不同需求,采用Tableau商業(yè)化數(shù)據(jù)可視化方案和Echarts可視化庫(kù)的方案。通過部署TableauServer服務(wù),對(duì)日常日志監(jiān)控和統(tǒng)計(jì)分析可以方便地進(jìn)行可視化配置,快速發(fā)布日志的分析內(nèi)容。針對(duì)需要定制化分析,采用業(yè)務(wù)程序開發(fā)加Echarts可視化庫(kù)的方式,對(duì)業(yè)務(wù)程序分析的結(jié)果定制Echarts展示圖表,靈活適用不用網(wǎng)絡(luò)日志的分析需求。
對(duì)本文設(shè)計(jì)的網(wǎng)絡(luò)日志分析平臺(tái)進(jìn)行部署實(shí)現(xiàn),在校園網(wǎng)數(shù)據(jù)中心內(nèi)采用兩臺(tái)服務(wù)器部署Hadoop平臺(tái),配置采用4核CPU,32G內(nèi)存,500G存儲(chǔ),兩臺(tái)設(shè)備均作為DataNode,其中一臺(tái)配置為Name Node。在數(shù)據(jù)采集上,使用Flume1.7版部署于校園網(wǎng)三臺(tái)網(wǎng)站服務(wù)器上,采集的網(wǎng)站訪問日志包括Apache和Tomcat服務(wù)的網(wǎng)絡(luò)訪問日志,同時(shí)采集服務(wù)器的操作系統(tǒng)日志。Flume將不同類型的日志文件存儲(chǔ)于HDFS不同的目錄下,為下一步日志清洗和Hive存儲(chǔ)提供便利。
數(shù)據(jù)可視化方面,通過在服務(wù)器上部署TableauServer服務(wù),配置數(shù)據(jù)源及相關(guān)數(shù)據(jù)表信息,方便地實(shí)現(xiàn)大量日志數(shù)據(jù)的日常匯總和分析展示。
網(wǎng)絡(luò)日志分析平臺(tái)支撐的數(shù)據(jù)分析能力和應(yīng)用場(chǎng)景較多,在高校校園網(wǎng)管理中,典型的應(yīng)用場(chǎng)景包括故障監(jiān)測(cè)、網(wǎng)絡(luò)流量趨勢(shì)及用戶行為分析等方面。網(wǎng)絡(luò)流量趨勢(shì)分析主要針對(duì)校園網(wǎng)大量二級(jí)網(wǎng)站的訪問情況,通過統(tǒng)計(jì)分析,對(duì)不同時(shí)間尺度的網(wǎng)絡(luò)流量趨勢(shì)進(jìn)行展現(xiàn),結(jié)合流量分布、時(shí)間分布等不同角度的統(tǒng)計(jì)分析,對(duì)網(wǎng)絡(luò)管理人員提供網(wǎng)絡(luò)優(yōu)化指導(dǎo)。用戶行為分析綜合用戶使用校園網(wǎng)的各種日志數(shù)據(jù),包括整合多網(wǎng)站訪問日志,網(wǎng)絡(luò)認(rèn)證日志等內(nèi)容,對(duì)用戶網(wǎng)絡(luò)訪問路徑計(jì)算分析,利用用戶行為分析算法對(duì)用戶偏好等信息進(jìn)行展示,為提升用戶體驗(yàn)及產(chǎn)品優(yōu)化提供指導(dǎo)。
本文在在高校信息化建設(shè)不斷發(fā)展及數(shù)據(jù)應(yīng)用越來越受到重視的背景下,利用當(dāng)前流行的Hadoop等大數(shù)據(jù)分析工具,對(duì)高校網(wǎng)絡(luò)中主要的日志進(jìn)行分類并提出了相應(yīng)的日志采集存儲(chǔ)分析方案,可為日志分析甚至未來業(yè)務(wù)數(shù)據(jù)分析展示提供基礎(chǔ),實(shí)際部署實(shí)施表明該平臺(tái)可提升高校網(wǎng)絡(luò)日志利用效率。下一步的工作主要包括進(jìn)一步細(xì)化網(wǎng)絡(luò)日志分析的服務(wù)內(nèi)容,尤其是高校網(wǎng)絡(luò)環(huán)境中的用戶行為分析進(jìn)行業(yè)務(wù)開發(fā),增強(qiáng)用戶體驗(yàn)和學(xué)生服務(wù)等方面的信息化服務(wù)水平。
[1]于兆良,張文濤,葛慧,等.基于Hadoop平臺(tái)的日志分析模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(2):338-344
[2]張春生,郭長(zhǎng)杰,尹兆濤.基于大數(shù)據(jù)技術(shù)的IT基礎(chǔ)設(shè)施日志分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型電腦應(yīng)用,2016,32(6):49-52
[3]宋夢(mèng)馨,繆紅萍,王溯,等.基于Hadoop平臺(tái)的網(wǎng)站日志分析[J].信息系統(tǒng)工程,2015(12):35-36