- 大數據時代的數據挖掘
- 李濤
- 987字
- 2020-01-03 19:51:09
2.3 日志數據分析管理系統的架構
在大型企業的IT管理里,針對各個日志數據的分析通常不是某個IT管理人員單獨完成的。通常大型企業的IT服務架構,都依賴一個日志數據分析和管理系統。日志數據分析管理系統通常是 IT 服務管理的核心系統架構。例如 IT 服務提供商IBM,其業務核心系統就是基于IBM Tivoli Monitoring日志事件監控系統。本章主要講述的是數據挖掘技術在日志數據分析上的應用案例,因此這里我們只簡單介紹系統的整體架構。后面介紹的分析技術和算法通常被植入該系統架構中的某個模塊。雖然不同的企業IT服務架構大相徑庭,但是針對日志數據的分析管理大致如圖2-2所示[15-16]。圖2-2主要分3個部分:日志數據的收集和預處理;歷史日志數據存儲;日志事件數據的分析以及對分析結果的展示和使用。

圖2-2 日志數據分析系統的架構示意
2.3.1 日志數據的收集和預處理
日志數據的收集可以是各種形式的。例如常見的應用軟件Apache Tomcat,可以直接從其logs目錄下復制catalina.log日志數據文件。還有一些監控軟件可以主動地抓取系統狀態信息并生成日志事件,直接傳遞給后臺服務器,不需要將日志文件作為媒體,如IBM Tivoli Monitoring[17]。通常日志數據的收集要求在不影響生產服務器的性能下完成。此外,何種數據需要收集、何種數據不需要收集,這在系統管理和網絡監控領域也是研究的熱點之一。
2.3.2 歷史日志數據存儲
通常歷史日志數據都是海量形式。很多應用服務器的日志數據時時刻刻都在產生。因此,專門針對日志數據管理的很多數據倉庫被用來存儲系統歷史數據。與常規數據庫不同的是,這里的歷史數據倉庫以只讀和導入操作為主,修改和刪除的操作較少。很多企業(例如Splunk[18]、AppFirst[19])也開始使用NoSQL等存儲方式建立日志數據倉庫。
2.3.3 日志事件數據的分析以及對分析結果的展示和使用
本節主要介紹日志事件數據的分析方法,分析方法分為實時分析和離線分析兩類。通常基于數據挖掘的方法都是針對海量歷史數據進行離線分析的,然后將創建的模型用于實時的日志分析。例如異常檢測里,通過歷史數據訓練出一個分類模型,然后在實時收集日志數據的過程中,用創建的模型判斷當前日志事件是否出現異常。需要注意的是,在系統管理和網絡的研究領域里,有一些異常檢測故障追蹤的方法,并不需要離線的數據分析。通常針對系統日志事件挖掘出來的結果以知識庫(Knowledge Base)的形式存儲在管理系統內。系統管理員通常還需要查閱和審核以及修改知識庫內的結果,才能真正部署在生產服務器上。因此,可視化的日志數據分析顯示也是常見的一個功能模塊。