很多業(yè)務(wù)都需要進(jìn)行運(yùn)營數(shù)據(jù)統(tǒng)計,如統(tǒng)計用戶數(shù)、調(diào)用量等等。相較于傳統(tǒng)方式,在擁抱云計算的大潮下,如何借助騰訊云上PAAS產(chǎn)品無服務(wù)云函數(shù)SCF(Serverless CloudFunction),云數(shù)據(jù)庫(MySQL),以及結(jié)合報表可視化工具"小馬BI"(https://xiaoma.tencent.com/#/),來快速開發(fā)我們的運(yùn)營報表呢?
效果展示、架構(gòu)介紹
運(yùn)營日報的整體架構(gòu)如下:
簡單概括下,就是通過云函數(shù)的定時觸發(fā)器,每天定時從源數(shù)據(jù)庫(或API接口等)獲取數(shù)據(jù)并處理,之后存到目標(biāo)數(shù)據(jù)庫。小馬BI從目標(biāo)數(shù)據(jù)庫拉取數(shù)據(jù)進(jìn)行展示。so easy!
報表效果如下:
第一步、申請注冊騰訊云賬號
在騰訊云(https://cloud.tencent.com/)上,申請注冊一個騰訊云賬號。
第二步、購買云MYSQL(非必需)
在騰訊云數(shù)據(jù)庫控制臺購買一個數(shù)據(jù)庫,用于存儲我們處理后的數(shù)據(jù)。
(理論上,目標(biāo)數(shù)據(jù)庫只要位于小馬BI能訪問到的服務(wù)器上就行。如果你不想把數(shù)據(jù)存在云數(shù)據(jù)庫中,您可跳過此步。)
第三步、創(chuàng)建云函數(shù)
在騰訊云云函數(shù)控制臺新建云函數(shù)。(如若您的MYSQL數(shù)據(jù)庫配置了VPC,請確保云函數(shù)與其位于同一VPC內(nèi))。
第四步、開發(fā)
接下來就是具體的代碼開發(fā),云函數(shù)只是幫我集成了各個語言(如Node Python等)的運(yùn)行時。
代碼的開發(fā)與正常開發(fā)別無二致。
在此不再贅述??梢詤⒖糞CF快速入門(https://cloud.tencent.com/document/product/583/9179)。
4.1存量項目遷移
云函數(shù)通過指定的函數(shù)入口來進(jìn)行調(diào)用。
所以現(xiàn)有項目,只需要入口執(zhí)行代碼改為函數(shù),并在控制臺配置相應(yīng)的函數(shù)入口,即可實現(xiàn)無縫遷移。
第五步、部署
代碼開發(fā)完以后,可以通過手動、命令行工具(https://cloud.tencent.com/document/product/583/33445)等方式上傳。
配置定時觸發(fā)器,每天8點執(zhí)行就可以了。
可以通過控制臺比較方便地查看日報每天的執(zhí)行日志:
第六步、配置告警(非必需)
日報執(zhí)行出錯,作為開發(fā)人員我們很希望第一時間接收到通知,以便排查。
6.1通過云監(jiān)控來配置告警
6.2通過企業(yè)微信機(jī)器人
可以通過代碼改造,全局捕獲錯誤,將函數(shù)執(zhí)行成功或失敗的推送給企業(yè)微信機(jī)器的回調(diào)地址。
效果如下:
第七步、配置小馬BI
處理后的數(shù)據(jù)存入云數(shù)據(jù)庫以后,在小馬BI上配置數(shù)據(jù)庫地址為云上數(shù)據(jù)庫(或您的目標(biāo)數(shù)據(jù)庫)的地址。
之后拖拽組件生成圖表就OK了。更多配置細(xì)節(jié),可參考小馬BI幫助手冊。
寫在最后
運(yùn)營報表上云相較于之前,有以下優(yōu)勢:
1、更方便的重跑日報。當(dāng)天日報出錯。需要重跑的話,只需要通過在控制臺點擊按鈕就能完成,無需登機(jī)器。
2、更方便的查看日志。原先查日志都需要登錄服務(wù)器,現(xiàn)在通過控制臺界面就能完成。
3、部署更方便。原先想更改文件,需要通過rz/sz的方式把文件傳到機(jī)器上,現(xiàn)在結(jié)合云函數(shù)的命令行工具,可以很方便地進(jìn)行部署。
4、更方便地監(jiān)控與提醒。日報出錯,通過微信機(jī)器人、云監(jiān)控的告警功能來更方便的提醒。
結(jié)合小馬BI的可視化、推送能力,我們可以很方便、快速地完成運(yùn)營報表開發(fā)。