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