週五參加了 Elasticsearch Event 於華山文創
Elasticsearch(簡稱ES),是最近幾年火紅的Search Engine,由於他的方便性(可用Docker快速部署)、高效能、完整的生態圈,被廣泛的使用在Data ingestion, Data storage部分。
ES採用 Lucene 作為核心,優勢在於各種彈性的搜尋語法與 inverted index 架構,提供高效能的搜尋,最新 Lucene 6.0 內建 BM25 關聯度模型,提供更準確的搜尋結果。
每年也舉辦 Elastic{ON} 會議,吸引來自全球各地的開發者,發表最新的技術應用。
回到這次ES Event,主要重點在介紹Elasticsearch的使用情境部分:
HTC
Challenge:
- app dev
- 集中化的issue追蹤方式
- App -> module -> function -> … 等執行路徑追蹤
- take care of user experience
- 每個功能對使用者的優先順序
- 使用者從登入到登出做了什麼事
- 每個行為花了多久
- prevent issue proactively
- 服務是否正在惡化
- trouble shooting quickly
- 集中化管理
- auto scaling後可能機器被回收或是docker執行完log就消失
It should be simple with little effort.
結合docker架構如下
分析流程
值得注意的是Promotion&Support的部分,這是之前比較少接觸的面向,公司一個新工具的導入背後需要一個團隊負責support/training/promote,如此一來才有可能被廣泛的使用。
參考Log格式
PIC 統一資訊
統一資訊提供的服務
Log收集架構圖
其中Kafka Cluster是 publish subscriber 的服務,在資料量大的時候可做為一層buffer
LogLoop
未來2020年資料量將成長三倍以上
ELK高效能大數據分析系統
應用一:G&D海量驗鈔系統
應用二:智能腳踏車
ES + Hadoop
ES 提供Hadoop的整合,有了Hadoop的工具協助,能夠滿足更多資料分析需求
Q&A:
Q: Android平台是否有收集系統Log的agent可使用?
A: 可參考beats, 一種lightweight的log shipper。
Q: 如何快速收集網頁上的使用者點擊行為?
Q: 試著收集access log,每筆record會有自己的網頁路徑,如此便可知道使用者點擊行為。