本文作者:sevenyjluo ,腾讯 CSIG 前端开发工程师
很多业务都需要进行运营数据统计,如统计用户数、调用量等等。相较于传统方式,在拥抱云计算的大潮下,如何借助腾讯云上 PAAS 产品无服务云函数 SCF(Serverless CloudFunction),云数据库(MySQL),以及结合报表可视化工具"小马 BI"(https://xiaoma.tencent.com/#/),来快速开发我们的运营报表呢?
效果展示、架构介绍
运营日报的整体架构如下:
简单概括下,就是通过云函数的定时触发器,每天定时从源数据库(或API接口等)获取数据并处理,之后存到目标数据库。小马 BI 从目标数据库拉取数据进行展示。so easy!
报表效果如下:
第一步、申请注册腾讯云账号
在腾讯云(https://cloud.tencent.com/)上,申请注册一个腾讯云账号。
第二步、购买云 MYSQL(非必需)
在腾讯云数据库控制台购买一个数据库,用于存储我们处理后的数据。
(理论上,目标数据库只要位于小马 BI 能访问到的服务器上就行。如果你不想把数据存在云数据库中,您可跳过此步。)
第三步、创建云函数
在腾讯云云函数控制台新建云函数。(如若您的MYSQL数据库配置了VPC, 请确保云函数与其位于同一VPC内)。
第四步、开发
接下来就是具体的代码开发,云函数只是帮我集成了各个语言(如 Node Python 等)的运行时。
代码的开发与正常开发别无二致。
在此不再赘述。可以参考SCF 快速入门。
4.1 存量项目迁移
云函数通过指定的函数入口来进行调用。
所以现有项目,只需要入口执行代码改为函数,并在控制台配置相应的函数入口,即可实现无缝迁移。
第五步、部署
代码开发完以后,可以通过手动、命令行工具等方式上传。
配置定时触发器,每天 8 点执行就可以了。
可以通过控制台比较方便地查看日报每天的执行日志:
第六步、配置告警(非必需)
日报执行出错,作为开发人员我们很希望第一时间接收到通知,以便排查。
6.1 通过云监控来配置告警
6.2 通过企业微信机器人
可以通过代码改造,全局捕获错误,将函数执行成功或失败的推送给企业微信机器的回调地址。
效果如下:
第七步、配置小马 BI
处理后的数据存入云数据库以后,在小马 BI 上配置数据库地址为云上数据库(或您的目标数据库)的地址。
之后拖拽组件生成图表就 OK 了。更多配置细节,可参考小马 BI 帮助手册。
写在最后
运营报表上云相较于之前,有以下优势:
1、更方便的重跑日报。当天日报出错。需要重跑的话,只需要通过在控制台点击按钮就能完成,无需登机器。
2、更方便的查看日志。原先查日志都需要登录服务器,现在通过控制台界面就能完成。
3、部署更方便。原先想更改文件,需要通过rz/sz的方式把文件传到机器上,现在结合云函数的命令行工具,可以很方便地进行部署。
4、更方便地监控与提醒。日报出错,通过微信机器人、云监控的告警功能来更方便的提醒。
结合小马 BI 的可视化、推送能力,我们可以很方便、快速地完成运营报表开发。