提到雙十一很多人第一印象是一張成交金額跳動的炫酷大屏,的确大盤在阿裡雙十一中幾乎是每個團隊标配,例如:
- CEO看業務:把重要資料放到一張大屏上,簡潔而有沖擊力
- 營運看效果:把多個名額放在一起,有利于綜合分析定制投放政策
- 開發看流量:服務請求延時,排隊情況,掌握實時性能與動态
- 監控看水位:集中監控整體服務的狀态,有利于快速的做出響應
大盤方案選型
典型方案是流式計算架構:
- 資料采集:利用Agent、API、SDK等采集各源頭資料
- 中間存儲:利用類Kafka軟體進行生産系統和消費系統解耦
- 實時計算:環節中最重要環節,訂閱實時資料,通過計算規則對視窗中資料進行運算
- 結果存儲:計算結果資料存入SQL和NoSQL
- 可視化:通過API調用結果資料進行展示
在阿裡集團内,有大量成熟的産品可以完成此類工作,一般可供選型的産品如下:
對大盤進一步訴求
雖然前期做了大量準備工作,但營運、研發和運維等除了看大盤外,還會圍繞整個活動的運作做大量工作,例如:
- 營運對每個類目的細節,下單數目,使用者量預期水準等進行大量分析,對某些使用者群體激活和促銷
- 研發關注請求流量,使用者延時體驗,定位和分析各種原因
- 運維分析系統的水位,檢視各資源的分布,排程資源以確定穩定性
從上述例子中可以看到,除了資料的呈現之外,我們需要對大盤融入“互動式分析”的能力。給大家介紹一種選擇:通過日志服務(LOG,原SLS)一站式的查詢分析LogSearch/Analytics API 直接對接可視化大屏。
大屏的選擇可選方案有日志服務Dashboard,Grafana,Datav等,也可以通過API、JDBC接口對接自己的可視化大屏和第三方的軟體(例如Tableua)。日志㐏對三種大屏提供了插件,隻需在配置中直接使用SQL進行計算,并展示結果。
互動分析 | 平台支撐 | 實時性 | 定時重新整理 | 視圖支援 | 适合場景 | |
---|---|---|---|---|---|---|
日志服務Dashboard | ️ | PC | 豐富 | 運維、營運、開發等 | ||
Grafana | PC | 一般 | 時間序列資料場景 | |||
DataV | PC、移動端、大屏 | 适合于presentation場景 | ||||
基于JDBC或OpenAPI自建可視化前端 |
日志服務Dashboard主要面需要互動式分析的查詢需求,例如發現錯誤時,需要下鑽定位原因。跟蹤到某個類目中檢視細節,對比同比與環比資料。該方案有如下特點:
- 實時性強
- 從資料産生,秒級别即可在日志服務看到資料。
- 動态重新整理,秒級别即可計算出名額,展示在大屏上。
- 秒級精度
- 日志時間精确到秒級别。
- 靈活查詢
- 使用SQL進行互動查詢,可以進行探索式分析,快速進行假設和驗證。可反複在原始資料上進行任意次元的計算。而流計算在計算完原始資料後,即抛棄了原始資料,若想回溯調整查詢,基本不可能。是以日志服務的互動式查詢可謂靈活很多。
- 機器學習支援
- 時序類機器學習函數,幫助發現業務規律與趨勢
- 分類與聚類函數,幫助發現與定位異常
使用步驟
以日志服務dashboard對接為例,要對接一個大屏,首先要接入資料,然後編寫SQL,配置儀表盤視圖。
1. 接入資料
日志服務提供30+資料接入手段可以滿足各種資料源訴求,具體參考
文檔。
2. 調試SQL+機器學習函數
我們在日志服務查詢頁面,通過SQL文法,計算出需要的名額。SQL文法參考
文法文檔3. 配置視圖并儲存
SQL調試好後,配置視圖的參數,添加到儀表盤:
在配置好的大屏中,使用下鑽深入分析結果:
日志服務控制台内置14+類型視圖,用于可視化展示SQL計算結果,具體參考
基于日志服務大盤案例
- 從日志到雙十一大屏隻要一步:LOG/SLS+DataV 打通 DataV無縫支援LOG API,使用SQL進行實時計算,統計Nginx日志的PV、UV網絡等名額。
圖:datav大屏
圖:grafana大屏
- 日志服務Nginx dashboard:使用日志服務内置的地圖、餅圖、折線圖等可視化Nginx日志名額
圖:日志服務dashboard
-
Pangu 2.0 秒級監控
Pangu2.0是阿裡雲自研的新一代普惠智能新存儲系統。Pangu基于日志服務搭建秒級監控,Pangu 日志産生後,秒級采集到日志服務,并在秒級别計算出各個機器的IOPS、延時、吞吐。可迅速發現負載高的機器,及時跟進處理。
-
Fuxi 雙十一資源畫像為混部保駕護航資源排程大屏:
伏羲是阿裡雲自研的分布式排程系統。在雙十一期間,為了監控所有叢集的容量、負載資訊,伏羲團隊搭建了基于日志服務+dataV的可視化大屏。一張大屏囊括了所有的叢集資訊,看到這張大屏,就像擁有了一張地圖,在雙十一波濤洶湧的流量面前,做到胸有成竹。