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