對于數據人尤其是數據產品和分析師,最難排查(頭疼)的問題就是指標為什么升/降/沒數,一旦業務方提出這種問題就意味著有大半天的時間要花在確認指標口徑+計算邏輯+埋點采集上,而且要同時跟業務方、分析師、數據產品、數倉甚至是負責埋點的開發溝通,所以對于業務達到一定復雜度和指標達到一定量級的情況下,采用人肉運維的方式顯然是事倍功半的,搭建一套指標監控體系來保證產出數據的時效性和數據質量才是正解。
由于搭建指標監控體系要做的工作實在太多,本文我們重點討論幾個場景,在這些場景下我們數據產品經理能夠發揮哪些作用。
以一個實際場景case舉例,聊聊當數據出現異常波動時監控體系是如何發揮其作用的。
業務小李同學發現,昨天App首頁的人均停留時長日環比上漲了40%,于是小李找到分析師和數據產品詢問指標下降的原因。
此類問題相信各位數據人都不陌生,大家的反應都是先和業務確認最近是否產品有過升級或者策略調整,如果沒有的話就要排查數據流轉的各個環節是否有問題,以下圖為路線,我們分析在這些環節是否能前置的做些監控和定位工作。
01
數據同步
不管是埋點數據和還是業務數據,最終都是以一張張日志表的形式同步到數倉ODS層,如果是數據同步有缺失,可以查看數據拉取服務、埋點日志解析、ETL等過程是否異常,可以將上述注意點整理一個checklist,做成任務每天例行檢查,能做到對以上異常情況的定位也就初步完成了數據同步環節的監控。數倉同學經排查并未看到執行失敗的任務,可以確定數據同步環節是正常的。
02
調度監控
其實調度監控和任務管理有著很密切的聯系,最終目的都是為了把這些任務有序的運行起來,調度系統的設計可以重點考慮以下幾個特性:
那么如何通過產品化的形式展示當前任務的調度狀態呢?一般大家都會選擇用血脈圖來展示,數據產品在設計血脈圖的展現形式時,可以考慮不僅能展示作業組、節點、表名、字段名、運行狀態等,還要考慮能將業務實體,也就是指標與調度信息進行關聯。 當然能做到這個粒度依托與數倉治理的程度,如果數倉規范和治理做的沒那么精細,我們可以抓重點來做:比如梳理一些重要指標的調度關系,先把這些重要指標的調度監控做起來,這樣也是比較容易看到成效的。
此時我們查看血脈圖可以看到總停留時長這個指標是執行成功狀態,且依賴的作業也是執行成功的狀態,而我們要排查的人均停留時長指標是總停留時長指標的派生指標,這樣我們可以得出結論并非是調度任務出現問題,接下來可以排查是否是運行指標的任務出了問題。
03
任務管理
看到這兒會發現我們越來越接近指標層了,而隨著指標數量越來越多、指標口徑越來越復雜,就會出現下面令人頭疼的問題:
----任務不能在計劃時間內完成
----下游依賴的任務已經執行了但上游任務還沒跑完,這時候沒有數據下游任務報錯
----兩個任務并行執行影響數據結果
排查任務錯誤原因越來越麻煩、各種依賴關系越來越復雜、最后排查問題就要從一團團亂麻中理出已跟麻繩。
而為了保證指標產出的準確性,就必須要求生成這些指標的任務按照上下游依賴有序進行,最終能確保按時生成指標。
為了保證指標產出的監控性,要做到對導入任務的監控,具體有支持查看導入任務的執行紀錄、執行狀態、失敗原因等,這樣當指標數據未產出時可以通過導入任務的執行狀態來分析問題。
而為了保證指標的時效性我們可以配置指標負責人、運維人員、SLA來保證,當任務執行時間超過SLA觸發報警機制。
接下來回到我們排查人均停留時長這個問題,已知他的原子指標總停留時長的作業是沒問題的,那么我們分析這個指標的計算邏輯:
人均停留時長=總停留時長/DAU
我們看到上游產出DAU的任務失敗了,后經開發排查,是因為DAU的表里有個小時表執行失敗了,導致DAU算的數據偏少,進而人均停留時長數據異常增長。
04
指標檢驗
最后就是對指標數據進行檢驗,在導入任務執行完產出數據后,如何驗證產出的數據符合預期呢?我們可以給指標的波動范圍設計閾值(一般是日環比和周同比的形式),關于閾值如何設定,有的團隊可能采用業務方提供的波動值來作為閾值,但這種判斷容易受主觀思維影響,從數據的角度出發可以考慮取以往的指標波動均值作為參考閾值,這樣我們在閾值的設定上是比較科學的。
如果是業務調整帶來的波動,那在計劃調整的時候肯定是有個預期的波動值,我們只需要在調整后及時在報表展示平臺添加好提示,同時也檢查下數據波動和業務的預期是否一致,這樣也會降低一些因業務調整帶來的口徑波動解釋成本
在指標校驗環節我們發現人均停留時長這個指標已經超過了設置的20%的閾值,所以業務同學收到了報警,然后就開始了我們文章一開始出現的那一幕。
指標監控體系看似是對指標的監控,實際上是對整個數據生產流程的監控,但本文只是簡單的講了這幾個環節,排查實際問題中并不只是這些環節會有問題,比如數據同步環節發現解析到的埋點日志很少,那么我們要排查是否埋點出現異常;調度監控除了血脈圖還有元數據管理平臺等等。。。
總之數據采集到數據可視化是個漫長且復雜的鏈路,對于企業級的指標監控系統,這些事還遠遠不夠,不同公司面臨的困難不一樣,方法也不一樣,思考如何制定適合自己業務和技術現狀的監控方案,這樣才能更好的落地實施。
編輯:jq
-
數據
+關注
關注
8文章
7133瀏覽量
89378 -
APP
+關注
關注
33文章
1577瀏覽量
72657 -
SLA
+關注
關注
1文章
54瀏覽量
18302
原文標題:淺談如何建設指標監控體系
文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論