1. 程式人生 > >十分鐘構建雙十一互動分析大盤

十分鐘構建雙十一互動分析大盤

提到雙十一很多人第一印象是一張成交金額跳動的炫酷大屏,的確大盤在阿里雙十一中幾乎是每個團隊標配,例如:

  • CEO看業務:把重要資料放到一張大屏上,簡潔而有衝擊力
  • 運營看效果:把多個指標放在一起,有利於綜合分析定製投放策略
  • 開發看流量:服務請求延時,排隊情況,掌握實時效能與動態
  • 監控看水位:集中監控整體服務的狀態,有利於快速的做出響應

大盤方案選型

典型方案是流式計算架構:

  • 資料採集:利用Agent、API、SDK等採集各源頭資料
  • 中間儲存:利用類Kafka軟體進行生產系統和消費系統解耦
  • 實時計算:環節中最重要環節,訂閱實時資料,通過計算規則對視窗中資料進行運算
  • 結果儲存:計算結果資料存入SQL和NoSQL
  • 視覺化:通過API呼叫結果資料進行展示

在阿里集團內,有大量成熟的產品可以完成此類工作,一般可供選型的產品如下:

image.png | left | 827x392

對大盤進一步訴求

雖然前期做了大量準備工作,但運營、研發和運維等除了看大盤外,還會圍繞整個活動的執行做大量工作,例如:

  • 運營對每個類目的細節,下單數目,使用者量預期水平等進行大量分析,對某些使用者群體啟用和促銷
  • 研發關注請求流量,使用者延時體驗,定位和分析各種原因
  • 運維分析系統的水位,檢視各資源的分佈,排程資源以確保穩定性

image.png | left | 827x187

從上述例子中可以看到,除了資料的呈現之外,我們需要對大盤融入“互動式分析”的能力。給大家介紹一種選擇:通過日誌服務(LOG,原SLS)一站式的查詢分析LogSearch/Analytics API 直接對接視覺化大屏。

大屏的選擇可選方案有日誌服務Dashboard,Grafana,Datav等,也可以通過API、JDBC介面對接自己的視覺化大屏和第三方的軟體(例如Tableua)。日誌㐏對三種大屏提供了外掛,只需在配置中直接使用SQL進行計算,並展示結果。

互動分析 平臺支撐 實時性 定時重新整理 檢視支援 適合場景
日誌服務Dashboard PC 豐富 運維、運營、開發等
Grafana PC​ 一般 時間序列資料場景
DataV PC​、移動端、大屏 豐富 適合於presentation場景
基於JDBC或OpenAPI自建視覺化前端

日誌服務Dashboard主要面需要互動式分析的查詢需求,例如發現錯誤時,需要下鑽定位原因。跟蹤到某個類目中檢視細節,對比同比與環比資料。該方案有如下特點:

  • 實時性強

    • 從資料產生,秒級別即可在日誌服務看到資料。
    • 動態重新整理,秒級別即可計算出指標,展示在大屏上。
  • 秒級精度

    • 日誌時間精確到秒級別。
  • 靈活查詢

    • 使用SQL進行互動查詢,可以進行探索式分析,快速進行假設和驗證。可反覆在原始資料上進行任意維度的計算。而流計算在計算完原始資料後,即拋棄了原始資料,若想回溯調整查詢,基本不可能。所以日誌服務的互動式查詢可謂靈活很多。
  • 機器學習支援

    • 時序類機器學習函式,幫助發現業務規律與趨勢
    • 分類與聚類函式,幫助發現與定位異常

image.png | left | 827x193

使用步驟

以日誌服務dashboard對接為例,要對接一個大屏,首先要接入資料,然後編寫SQL,配置儀表盤檢視。

1. 接入資料

日誌服務提供30+資料接入手段可以滿足各種資料來源訴求,具體參考文件

image.png | left | 827x210

2. 除錯SQL+機器學習函式

我們在日誌服務查詢頁面,通過SQL語法,計算出需要的指標。SQL語法參考語法文件

image.png | left

3. 配置檢視並儲存

SQL除錯好後,配置檢視的引數,新增到儀表盤:

在配置好的大屏中,使用下鑽深入分析結果:

image | left

日誌服務控制檯內建14+型別檢視,用於視覺化展示SQL計算結果,具體參考文件

image | left

基於日誌服務大盤案例

image.png | left

圖:datav大屏

image.png | left

圖:grafana大屏

  • 日誌服務Nginx dashboard:使用日誌服務內建的地圖、餅圖、折線圖等視覺化Nginx日誌指標

image.png | left

圖:日誌服務dashboard

  • Pangu 2.0 秒級監控
    Pangu2.0是阿里雲自研的新一代普惠智慧新儲存系統。Pangu基於日誌服務搭建秒級監控,Pangu 日誌產生後,秒級採集到日誌服務,並在秒級別計算出各個機器的IOPS、延時、吞吐。可迅速發現負載高的機器,及時跟進處理。

image.png | left | 827x486

  • Fuxi 雙十一資源畫像為混部保駕護航資源排程大屏:
    伏羲是阿里雲自研的分散式排程系統。在雙十一期間,為了監控所有叢集的容量、負載資訊,伏羲團隊搭建了基於日誌服務+dataV的視覺化大屏。一張大屏囊括了所有的叢集資訊,看到這張大屏,就像擁有了一張地圖,在雙十一波濤洶湧的流量面前,做到胸有成竹。

image.png | left