10分鐘快速構建能承載海量數據的數字化體驗監控平台

作者:王思宇 n

數字化體驗監控技術讓基礎設施及運維領導人能夠全面深入地監控和分析終端用戶和社區與數字化應用,服務和業務之間的交互細節。

目前七牛數字化體驗監控平台 DEM 處於有限開放階段

【聯繫我們請點擊→ 七牛雲.大數據產品諮詢】


首先簡單介紹一下什麼是數字化體驗監控。數字化體驗監控(DEM,Digital Experience Monitoring)是多個來源採集的數據集組合起,通過將可視化,分析和機器學習功能方法,來實現可用性和性能監控的方法。通過觀察和分析數據集,來優化應用和服務,達到提升終端,人和設備的體驗的目的。

通常,如果想構建一套能夠承載海量數據的具有實時數據監控,日誌搜索和分析功能的數字化體驗監控平台,一般需要完成以下幾個步驟:

  1. 首先需要開發包括移動端,web 端等在內的數據採集探針,收集包括首開,crash,http 性能,卡頓,日誌等相關的數據,並進行上報;
  2. 搭建一個收點網關,進行一些數據清洗和過濾;
  3. 搭建消息隊列服務緩存數據,如 kafka;
  4. 搭建存儲服務,如 HDFS 、 Elasticsearch 等,將數據落存儲;
  5. 搭建實時,離線數據分析平台,如 Spark、Flink 等;
  6. 數據可視化展示、告警系統。

實現以上功能,不僅需要有一個資深大數據背景的技術團隊和客戶端團隊的支撐以及漫長的開發周期,系統上線後仍需持續投入精力持續維護迭代,以應對諸如逐步上升的數據量和快速變化的需求;若是對平台的橫向擴展能力沒考慮周全,眾多開源組件崩盤的風險很可能會讓之前的投入白費。

為了讓用戶可將資源精力聚焦於業務價值提升而無需擔憂複雜的大數據技術和部署運維難題。七牛大數據平台 Pandora 和七牛數字化體驗監控平台 DEM 應運而生。

七牛數字化體驗監控平台 DEM

七牛數字化體驗管理平台 DEM(Digital Experience Management)是基於七牛大數據平台 Pandora 及對象存儲服務 Kodo 構建的一套支持全平檯面向海量數據的數字化體驗管理平台。使用七牛 DEM 能夠快速賦能海量終端用戶數字化體驗監控和分析的能力,免去搭建和運維迭代大數據平台的煩惱。

移動 APP 常見痛點

崩潰定位

  • 快速暴露、發現、定位、修復
  • 統計錯誤,報警
  • 長時間保存
  • 機器學習分析

交互響應慢

  • ANR 定位
  • 界面卡頓
  • API 調用慢

網路問題

  • 連接超時
  • 網路錯誤
  • CDN 問題
  • 客戶端網路信息收集

日誌分析

  • 客戶端上報日誌
  • 長時間保存
  • 機器學習分析

七牛 DEM 特點

  • 客戶端開源,用戶可以查看,修改,定製
  • 海量數據,永久存儲
  • 自定義數據上報
  • 網路診斷數據
  • 開放式的數據流,結合 Pandora 大數據平台,做各種離線,實時分析
  • 日誌上報
  • 按真實數據量付費

DEM 架構

七牛 DEM 是構建在七牛大數據平台 Pandora 之上的 SaaS 產品,其構成組件如下:

準備工作

在使用 DEM 之前,您必須做好以下準備工作:

  • 擁有七牛雲賬號;
  • 到七牛雲官網申請 Access Key 和 Secret Key;
  • 聯繫客服或銷售人員開通 Pandora 及 DEM 相關服務;

快速開始

-創建第一個 App:

在瀏覽器中打開我們的主頁 https://predem.qiniu.com 使用您的七牛賬號登錄,然後即可如下圖所示,快速創建您的第一個 App。

  • 在創建 App 時,您可以選擇開啟或關閉各個功能組件,如崩潰上報、網路性能上報和App卡頓監控,這些開關默認都是開啟的
  • App 創建成功之後,請到該 App 的 APP 設置 頁面,獲取 App Key,供相關 SDK 上報數據使用

安裝各平台的探針 SDK

-iOS SDK:

首先前往 github.com/pre-dem/pre- 使用 Coacoapods 安裝 iOS SDK

然後,只需如下兩行代碼,您便可將 SDK 集成到您的 App 中:

-Android SDK:

首先前往 github.com/pre-dem/pre- 安裝 Android SDK

然後您只需在 「MainActivity」 中的 onResume() 方法(如未找到該方法請新增)中初始化 Android APM SDK

DEMManager.start("apm.domain.com", "appkey", this.getApplicationContext());n

-Web SDK:

首先前往 github.com/pre-dem/pre- 安裝 Web SDK

然後將 pre-dem-web.js 文件引入到你需要的 html 頁面中, 然後初始化 SDK.

至此您已經完成了探針 SDK 的集成,當您下次運行您的 App 時,SDK 將收集相關體驗監控數據並上報到七牛 DEM 平台。是的,就是如此簡單。

在 DEM 控制台查看 App 體驗數據

-crash 監控:

當您的 app 發生 crash 後,在控制台您能夠看到如下圖所示的 crash 日誌,目前我們支持按照時間進行過濾,另外也可以按照機型系統版本等多種維度進行查詢。點擊詳情之後可以看到 crash 的詳情,這樣您可以快速排查並解決相關錯誤。

-網路診斷日誌

我們的 SDK 提供有發起網路診斷的介面,當您的 App 主動調用該介面之後,SDK 將進行 Ping,HTTP request 等多種網路診斷,並將結果將發上報到七牛 DEM 平台,在控制台您能夠看到如下圖所示的網路診斷日誌,目前我們支持按照時間進行過濾,另外也可以按照機型系統版本等多種維度進行查詢

-網路性能監控

當您的 app 產生 http 請求或使用內置 webview 打開了網頁,在控制台可以看到如下圖所示統計分析圖標,展示包括下載速度以及錯誤率等多個維度的統計信息。

-卡頓監控

當您的 app 發生卡頓後,在控制台您能夠看到如下圖所示的卡頓監控日誌,目前我們支持按照時間進行過濾,另外也可以按照機型系統版本等多種維度進行查詢。點擊詳情之後可以看到卡頓的詳情,這樣您可以快速排查並解決相關錯誤。

-web 性能監控

當用戶打開了網頁後,web sdk 將自動上報網頁打開的性能數據,在控制台可以看到如下圖所示統計分析圖標,展示包括頁面載入各個階段的時間,各資源載入時間等多個維度的統計信息。

-日誌上報

我們在 SDK 中提供日誌採集的介面,當您調用之後 SDK 將採集您的日誌並上報,在控制台您能夠看到如下圖所示的日誌,目前我們支持按照時間進行過濾,另外也可以按照機型系統版本等多種維度進行查詢。

-自定義上報

我們在 SDK 中也提供了自定義事件的上報介面,通過該介面,您能夠自由上報想上報的事件,上報的數據將存儲於 Pandora 大數據平台,您可以自由新建計算任務進行統計並導出到下游的持久化組件中,然後選擇自己開發或 grafana 等來進行相關數據的展示。詳見 Pandora 使用文檔(http://pandora-docs.qiniu.com)


目前七牛數字化體驗監控平台 DEM 處於有限開放階段

【聯繫我們請點擊→ 七牛雲.大數據產品諮詢】

BTW.七牛雲 Contributor 徵集中!詳情→《成為七牛雲 Contributor-如何貢獻 logkit 代碼》


推薦閱讀:

運維開發工程師的價值&前景?
攜程運維工作流平台的演進之路
開發運維專欄資源整理
干運維一個月了,怎麼辦?

TAG:运维 | 大数据 | 日志分析 |