2011年6月29日星期三

分析機器數據的新利器Splunk

現代商業操作依頼IT系統,架構內有不少機器,從防火牆、路由器、伺服系統、作業系統、應用程式、數據庫,系統之間互動,產生大量記錄檔(Log)的機器數據,可以有不同用途,最常用是偵錯。系統一旦出現失效,只有靠記錄檔來尋找蛛絲馬跡、系統瓶頸等。

從記錄檔也可判斷系統安全是否受威脅,甚至運作異常,可能受入侵等。市面出現了如「保安及資訊事故管理」(SIEM);包括了HP收購的ArcSight、Symantec的SIM和RSA的enVision等,皆是擷取機器數據作分析,並發出入侵預警的SIEM工具。

機器數據也可用於分析消費者行為,企業擷取數據庫內的交易記錄,建立數據倉庫,作為報表分析用途。建立數據倉庫往往從不同來源擷取數據,甚至只擷取部分數據,數據倉庫必須界定不同數據性質(Schema),經過解讀(Parsing),建立數據倉庫再產生報表。這些報表可反映出業務效率,例如工作質量是否達標,並顯示出關鍵表現指標(KPI)。

上述系統,傳統上依賴關聯式數據庫,最耗時是數據須從不同來源,先經擷取、轉化、上載(Extract, Transform, Load)過程,整合成數據倉庫並建立OLAP多維結構,利用不同前端工具如Excel或Hyperion等,解讀數據和建立顯示KPI的儀表板。

機器數據用途廣

分析機器數據也對電子商貿,別具意義。電子商務網站、電訊商、甚至網上理財和銀行,從機器數據監察系統效率,判斷客戶體驗是否達標,甚至直接確定問題根源,這些「應用效能管理」(APM),類似IBM的Tivoli和HP的Quality Center、Oracle的Enterprise Manager,均可從眾多異質系統數據,實時全程監控用戶體驗。

但是,分析機器數據工作愈來愈複雜,除了涉及的機器愈來愈多,軟件趨向多層架構(Multi Tier),一筆交易先經多個元件處理,產生機器數據更多,近年SOA架構也加速多層化趨勢,雲運算更令部分運算,轉而遠端進行。

愈來愈多設備也具備智能,甚至安裝感應器,可以傳送設備狀態,數據量以幾何增長,實時分析市場也更形重要,如何迅速分析這些機器數據,也成為IT商業分析的發展方向。

機器數據也廣泛應用於其他用途;例如資產管理用途,比較著名的產品包括了IBM的Maximo,可以根據個別事故甚至條件,啟動不同處理程序,自動化管理設備,甚至是交通運輸和發電站等。

上述不同系統,從不同系統擷取數據作專門分析,各自為政,難有全盤觀點。

然而,系統所產生大多為非結構數據,格式不盡相同,短時間內產生極大量數據,又引起所謂「Big Data」問題,部分如APM和資產管理也須實時監察,甚至未寫進數據庫前,就先以串流(Streaming)分析,馬上獲得結果。

以檢索引擎取代數據庫

最近,市場上興起以非結構方式分析機器數據,而最著名的產品可數是Splunk。Splunk是檢索引擎,可以取代SIEM、APM、數據倉庫等功能,最吸引是設定簡單,擴充能力極強,短時間內分析大量的機器機器。

互聯網最普遍使用於搜尋和整理數據,是利用高速檢索引擎,建立索引再行組織。而幾乎所有機器數據皆有時間戮記(Time Stamp),發生次序又通常追查問題的最重要線索,加上最新分散運算技術Mapreduce,短時間內處理大量數據,甚至實時以串流分析。

Splunk亞太及日本區域副總裁劉文熙說,Splunk以專門用於機器數據的檢索引擎,優點是放棄關聯式數據庫,直接讀取機器數據,以檢索文字、XML及串流數據,作不同的監察和分析,涵蓋多種用途。

不同系統記錄檔格式各異,Splunk只是檢索(Indexing),不須任何轉譯或者連接器,甚至安裝資料庫,數據全部上載至Splunk的檔案系統和儲存器。Splunk以實時建立檢索,並向用戶馬上提供查詢答案。劉文熙表示:最初Splunk多用於記錄檔分析,後來愈來愈多用於商業智能和分析用途,以加快決策過程。

Splunk只要數天時間就能操作,比數據倉庫動輒數月才能設定要短得多,Splunk只要閱讀機器數據的TCP/UDP端口,就可以馬上工作。用戶可以設定Splunk閱讀任何設備、應用、甚至網上公開的XML服務,就可以就不同來源進行分析和檢索,甚至追尋數據之間的關係。
小題:設置時間大為縮短

「Splunk設置時間縮短,安裝簡單,因為不用關聯式數據庫,所以毋須專門人才去建立數據倉庫。Splunk也支援IPv6,支援從更多來源擷取數據。」劉文熙表示:「日本有公司利用Splunk來監察外判商表現,只消從遠端閱讀設備的記錄檔,便獲悉外判商實時工作表現。」

「電訊商可以通過記錄檔,通過簡單檢索,獲悉用戶實時體驗。例如用iPhone和Android用戶比例,登入和失敗次數,停留某網頁時間等。甚至用於作商業分析,建立KPI,釐定系統是否乎合服務水平。」

Splunk跟一般記錄檔分析工具分別,除了放棄採用關聯數據庫,不再界定Schema,也在於處理數據的極高性能。

Splunk可處理超大型數據(Big Data),原因是架構上跟目前處理超大型平行運算,起初由Google推動Hadoop架構,同樣採用了MapReduce原理,檢索和運算可分散至多部機器執行,化整為零,結果再化零為整,結合多部伺服器平行處理的運算,同樣查詢較SQL語言,快上十至八倍,卻毋須建立類似Teradata的MPP 數據倉庫架構。Splunk也能跟Hadoop平台整合。Hadoop採用了MapReduce技術和本身檔案系統,已普遍用於大型網站,其中最著名用戶包括Yahoo!。但Hadoop設定較為複雜,Splunk架設則相對簡單。

不同設備生產商也整合Splunk,例如F5就推出以Splunk檢索F5 Big IP和FirePass,記錄檔出現異常時發出預警。日本有整合商發明從IP電插座蒐集數據,統計用電量改善配電,以減少耗能。

劉文熙表示,有人以Splunk用RSS設定,從美國地質調查局擷取 XML數據,建立全球地震監察系統,隨時匯報全球地震的分佈。Splunk也被廣泛用於分析網站用戶行為。Splunk也有免費版本可供下載,可分析500MB數據。

沒有留言:

發佈留言