現代業務使用愈來愈多系統,產生大量數據,不少是難以整理的日誌檔(Logs),被稱為機器數據,其中大部分屬於「非結構性數據」,也就是無法以傳 統數據庫技術分析。
這些系統數據,以往束諸高閣,其實蘊藏了不少可助改善營運、保安、業務的情報,如何沙裡淘金,從大數據發掘價值,改善系統性能,甚至保安漏洞和不尋常活動,幾乎是系統人員共同願望。
發掘數據最直接方法,是以視覺化呈現數據內容,甚至轉化機器數據,成為預測未來的洞見。最先發現和簡化應用機器數據的廠商,Splunk可算是佼佼者;Splunk可搜尋、監察、分析大量的機器數據;除了分析運作,也可應用於商業決策,甚至取代SIEM保安系統。
Splunk類似是機器數據的搜尋服務,具備多種Forwarder插件從系統擷取數據。近 年Splunk業務高速發展,上月剛以三億五千萬美元,收購網絡保安公司Phantom,加強保安功能。
2012年,另一家搜尋機器數據的Elastic登生,以公開源碼Lucene搜尋引擎快速索引數據,並推出了強大視覺化介面Kibana。Elastic技術要求較高,速度卻更快;Elastic開發監察IT基建各項應用,同樣具備不少商業和保安智能。
但是,Elastic擷取數據,要先經Logstash插件,轉化成JSON格式,然後以Lucene加入製作索引,組裝難度較高,但Elastic分散式部署和極具擴充性,加上高速檢索;不少投資銀行、電子商業、電訊商,紛紛成為客戶。Netflix就是以Elastic探索用戶行為,並檢索和管理每天以十萬計的訊息。維基百科、Github、投資銀行高盛都是Elastic用戶。
Elastic加入APM
最近,Elastic年度大會Elastic{ON}上再發佈多個新功能,並宣佈累計下載次數已達 2.25 億次。過去18個月內,Elastic又收購了三家新公司;包括專門開發應用性能監控(APM)的Opbeat。今次大會上,Elastic推出了Elastic APM,可分析應用內每句源碼如何影響系統性能,加快除錯調校應用。傳統APM方案甚為昂貴,Elastic APM更可結合系統日誌檔,端到端監察用戶的體驗,包括使用瀏覽器時的反應。
Elastic APM可支援以Python/Node.jS/Ruby/JS開發的應用,開發人員只要將代理程式加入開發專案,就可自動從應用,蒐集有關性能數據,並通過Elasticsearch來檢索應用各項性能指標,以Kibana以視覺化顯示性能變化。由於客戶體驗愈來愈重要,Elastic APM功能又涵蓋主流高階開發語言,加上又是免費,相信吸引不少開發人員採用。
支援機器學習預測
Elastic除了多項免費功能,亦加入X-Pack伸延功能,提供系統保安、監察和提醒功能。X-Pack又加入機器學習,探測數據不尋常變化,提示系統可能遭攻擊入侵,或者運作異常,甚至需求的突然變化。新版X-Pack機器學習,再加入預測分析,可從現時機器學習所獲結果,推演未來變化;例如系統運算能力儲存,是否足以應付峰值需求,甚麼時候應該升級,也可對比預測和實際結果,再作微調。
Elastic也跟Microsoft合作,監察Azure雲運算基建的性能和保安。Elastic可自動轉化Azure日誌,成為JSON格式,再存入Elasticsearch,以Kibana即時顯示,快速顯示Azure雲端基建狀況;如登入失敗的嘗試次數、用戶各種可疑行為、甚至監察和優化SQL數據庫部署。
機器學習和分析雲基建,都是不少企業客戶渴求的新功能。去年,Elastic與阿里雲建立合作,更多用戶可在雲端直接使用Elastic。作為SaaS,Elastic亦有不俗的應用前景。