一.功能描述
1.MAS(移动分析)产品简介
移动分析服务(Mobile Analysis Service,简称 MAS)是 mPaaS 平台的一个核心基础服务组件,是一项方便您轻松地大 规模收集、可视化并理解应用程序使用数据的服务。MAS 通过统计和分析客户端流量、性能质量和用户行为等数据,用数 据实现产品、运营、推广的决策;通过对闪退的分析,快速定位闪退原因,提高程序稳定性。
2.组件及原理
MAS组件如下:
mdap:日志采集网关,负责收集客户端埋点日志,收到日志后,直接传输至 JStorm 集群进行计算。
JStorm:实时计算引擎,根据处理规则对日志进行实时解析并将需要的数据存储入库。
SSDB:KV 数据存储层,底层使用 Leveldb,支持单表十亿级记录。
ZooKeeper:集群管理、组件间服务发现。
3.组件特点及功能
组件特点
*极简接入:引入移动分析组件即可自动收集用户行为日志,网络日志,日常日志,简洁方便。
*全面分析:具备用户行为,终端问题流量,电量,通讯链路,性能等多个目标分析角度。
*多维度展现:可以从终端类型,终端版本,网络类型,地域,厂商机型扽多个维度展现和分析移动应用数据。
*快速定位问题:闪退以及日上日志提供发送错误的接口及名称,异常原因,运行环境等信息,帮助开发者快速定位问题。
组件功能
*用户行为分析:提供应用使用分析,包括用户报活、用户登录、新增用户等多种指标的统计功能,并支持按照平 台、版本、地域、时间的多维度分析对比,方便用户更快速、便捷的了解自身 App 的使用情况。
*稳定性分析:提供应用稳定性分析,包括闪退监控、异常监控、性能监控及用户诊断功能,帮助开发人员及时发 现、定位问题。
*问题诊断:提供应用问题诊断,包括个人用户诊断和诊断日志采集两部分。其中个人用户诊断实时获取用户客户 端行为,诊断日志采集通过 push 方式下发指令到客户端传回客户端本地日志。
4.应用场景及优势
*通过数据指导业务
帮助开发、运营人员利用数据进行产品、运营、推广方案的决策。
*提升用户体验
快速定位闪退位置,结合热修复功能快速修正 APP 闪退,提升用户体验、增加客户 留存率。
5.术语解释
埋点: 埋点指针对特定用户行为或事件进行捕获、处理和上报的相关技术及其实施过程。在应用中收集一些信息,用 来跟踪应用使用的状况,后续用来进一步优化产品或是为运营提供数据支撑,包括访问数、访客数、点击数、 停留时长等等。
事件:事件用于记录用户在 App 内的一个动作。您可以在任意动作(如按钮点击)触发时,埋入一个自定义事件。
属性:一个事件包含一些信息,如触发事件的用户 ID、App 版本、设备型号等,这些信息即为属性。移动分析平台预 置了一些常用属性;此外,您可以根据实际情况自定义属性。
属性 ID : 用于唯一标识一个属性。属性是 App 全局的,因此,同一个 mPaaS 应用中属性 ID 必须唯一。
事件分析:事件及其属性信息会以日志的形式先存储在本地客户端,然后上报至移动分析服务器。在控制台完成相关配置 和操作后,您可以查看事件分析报表。
二.产品架构
1.实时部分
客户端的日志经过计算后,能够实时的展示出来,列如大盘数据,自定义分析,以及性能分型中的各种日志(闪退、卡顿、卡死等)。
整体架构:客户端的日志会投递到mdap上收集日志,mdap的flume进程会把日志同步到kafka,之后jstorm会从kafka中消费日志,分别进行实时的计算,jstorm起了三个拓扑(基础大盘,日志检索,自定义分析),jstorm计算过后,会将数据写入到mesdb和explorer存储中,masweb从存储中去读取数据展示出来。
2.离线部分
获取到的元数据经过数据同步,数据计算之后再聚合计算出来的数据,通常当日的数据会在当日凌晨进行任务处理,任务处理完后第二天才能看到离线部分的数据。
整体架构:mdap的flume进程会将原始数据同步一份到hdfs,由spark计算以及跑批任务,最终计算后的数据会写入到hbase当中,masweb从hbase中获取数据展示出来。
三.网络架构
1.AntStack底座
antstack底座:客户端日志首先会到应用mdap上,同步kafka后获取到的消费日志再由jstorm进行实时计算,后数据存储到mesdb和explorer数据库,数据再由masweb展示页面。离线会同步到hdfs由spark每天定时处理,数据存储hbase再由masweb展示。