mPaaS云平台运维系列之—移动分析产品介绍

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 移动分析服务(Mobile Analysis Service,简称 MAS)是 mPaaS 平台的一个核心基础服务组件,是一项方便您轻松地大规模收集、可视化并理解应用程序使用数据的服务。MAS 通过统计和分析客户端流量、性能质量和用户行为等数据,用数据实现产品、运营、推广的决策;通过对闪退的分析,快速定位闪退原因,提高程序稳定性。

1.1    产品介绍

移动分析服务(Mobile Analysis Service,简称 MAS)是 mPaaS 平台的一个核心基础服务组件,是一项方便您轻松地大规模收集、可视化并理解应用程序使用数据的服务。MAS 通过统计和分析客户端流量、性能质量和用户行为等数据,用数据实现产品、运营、推广的决策;通过对闪退的分析,快速定位闪退原因,提高程序稳定性。

1.1.1  功能简述

如图1-1所示,目前移动分析服务可分为以下功能:

用户行为分析:提供应用使用分析,包括用户报活、用户登录、新增用户等多种指标的统计功能,并支持按照平台、版本、地域、时间的多维度分析对比,方便用户更快速、便捷的了解自身App的使用情况。

稳定性分析:提供应用稳定性分析,包括闪退监控、异常监控、性能监控及用户诊断功能,帮助开发人员及时发现、定位问题。

问题诊断:提供应用问题诊断,包括个人用户诊断和诊断日志采集两部分。其中个人用户诊断实时获取用户客户端行为,诊断日志采集通过push方式下发指令到客户端传回客户端本地日志。

image.png

图1‑1 MAS产品功能图

1.1.2  功能特点

移动分析服务具备以下功能特点:

1)极简接入:引入移动分析组件便可自动搜集用户行为日志、网络日志、异常日志,简单方便。

2)全面分析:具备用户行为、终端问题、流量、电量、通讯链路、性能等多个目标的分析角度。

3)多维度展现:可以从终端类型、终端版本、地域、网络类型、厂商机型等多个维度展现和分析移动应用数据。

4)快速定位问题:闪退、异常日志提供发生错误的接口名称、异常原因、运行环境等信息,帮助开发者快速定位问题。

1.1.3  组件原理

MAS涉及的相关组件如下:

1. 移动日志网关(mdap)

移动日志网关内部有一个用于接收客户端投递日志的 nginx 进程,还有一个负责将日志传输到消息队列的JAVA进程。

2. 消息队列

消息队列负责将客户端的消息分发到后续系统。目前阿里云底座使用的是SLS在物理机底座使用的是开源的KAFKA

3. 流处理引擎

流处理引擎处理消息队列中的日志并实时生成处理结果。MAS 控制台上的性能分析、日志回放、基础大盘 (PV/UV) 监控等分钟级别指标均为此引擎生成。目前是使用蚂蚁内部的 jstorm 版本以实现。

4. 离线处理引擎

离线处理的过程是:首先将消息队列中的日志进行保存到离线存储hdfs,然后每天定时处理之前积攒的所有数据。

1.1.4  使用场景

1通过数据指导业务:帮助开发、运营人员利用数据进行产品、运营、推广方案的决策。

2提升用户体验:快速定位闪退位置,结合热修复功能快速修正APP闪退,提升用户体验、增加客户留存率。

1.2    产品架构

7-2所示,MAS系统由以下几个组件组成:

1. 流量入口

MAS的流量入口只有一个,就是客户端通过HTTP/HTTPS服务将日志投递给日志网关。

2. 存储结构

1)关系型数据库 (MYSQLOB)

用于保存用户配置的元数据(页面分析、自定义分析)、性能分析相关分类数据 (闪退分类、卡顿分类)和实时计算规则数据。

2)时序数据库 ( MESDB )

用于保存实时计算引擎处理结果、实时计算引擎元数据、实时计算引擎自监控数据。

3OLAP数据库 ( EXPLORER )

用于保存自定义分析数据(实时计算产出)、漏斗分析数据(离线计算产出)。

3. 移动日志网关

移动日志网关(mdap)内部有一个用于接收客户端投递日志的 nginx 进程,还有一个负责将日志传输到消息队列的JAVA进程。

4. 消息队列

消息队列负责将客户端的消息分发到后续系统。目前使用的技术实现有阿里云的SLS、蚂蚁的ANTQ、开源的KAFKA

5. 流处理引擎

流处理引擎处理消息队列中的日志并实时生成处理结果。MAS控制台上的性能分析、日志回放、基础大盘 (PV/UV) 监控等分钟级别指标均为此引擎生成。目前是使用蚂蚁内部的 jstorm版本以实现。

6. 离线处理引擎

离线处理的过程如图1-2所示,首先将消息队列中的日志进行保存到离线存储,然后每天定时处理之前积攒的所有数据。

 image.png

图1‑2 MAS产品架构图

1.2.1  实时计算

客户端在启动时会将本地已有的日志打包压缩后上mdap应用上,mdap会投递一份日志到kafka,之后jstorm会从kafka中消费日志,分别进行实时的计算。jstorm内配置有三个拓扑(基础大盘拓扑、日志检索拓扑、自定义分析拓扑),三个拓扑会去消费不同topic里的日志,消费之后jstorm会做实时的计算,并把计算后的不同数据存储到对应的数据库存储比如mesdbexplorerhbase

mappcenter通过masweb获取数据,不同的界面展示masweb会从不同的数据库中读取数据。比如实时大盘就是从mesdb中读取的数据;自定义分析就是从explorer中读取的数据。

其中用户通过mappcenter设置的配置信息,会由masweb存储到ob中。

1.2.2  离线计算

此外有一些更为复杂的日志分析,需要不同的规则清洗、耗时计算等,才能得到最终数据的分析结果。比如页面时长、漏斗分析等。

移动日志网关mdap上的flume进程会把原始日志数据同步一份存储到hdfs,由spark(离线计算的系统,每天凌晨计算以及跑批量任务)根据masweb的切分规则、计算规则等,进行数据清洗、计算等,最终计算后的数据会写入到hbase当中,maswebhbase中获取数据进行展示(前一日的数据)。

1.2.3  日志模型

hdfs中存储的是原始日志,有些客户想要到自己的大数据分析平台上做一些自己的分析,这时就可以从hdfs中同步出来,自己做二次分析。

mdap上对应存储不同的日志类型包括以下类型

1uniform_behavior行为日志

2uniform_behavior_auto自动行为日志

3uniform_exception异常日志

4monitor_performance性能日志

1.3    网络架构

如图7-3所示,主要分为实时计算和离线计算两个流程。

1. 实时计算

App客户端日志会先到mdap应用上,实时同步到kafkakafka的日志再由jstorm消费进行实时计算,将时序性数据存储到mesdb,自定义分析数据存储到explorer数据库,最终masweb再将数据取出展示页面。

2. 离线计算

离线会同步到hdfs,由spark每天定时任务处理,数据存储hbase再由masweb获取展示。OceanBase主要保存元数据、配置信息等,也包括日志切分规则等缓存。

image.png

图1‑3 MAS网络架构图

1.4    常用日志

如图1-4所示,包含了MAS常用的运维日志目录,可用于日常运维问题排查使用。

image.png

图1‑4 MAS常用日志介绍

1.5    常见问题

1.5.1  MAS运维常用平台地址

hbasemaster-1/hbasemaster-2:60010    #hbase控制台

hbasemaster-1/hbasemaster-2:50070    #hdfs控制台

https://{mPaaSdpc-history-1-IP}:8443    #Azkanban管控界面

http://{mesdb外网slbvip}:4200    #mesdbmas里的一个数据库应用,打开是mesdb控制台

http://{masweb的外网slbvip}/monitor/  

http://{explorer-bee容器ip}:8047   #Ant Analytics平台,explorer-bee使用

http://{explorer-bee外网slbvip}:9090/console.html    #explorer每隔一个小时会把数据写入到hdfs里面

http://{nimbus容器ip}:8080   #jstorm的拓扑管理页面

http://{mPaaSdpc-manager容器的IP}:8000   #hive控制台

1.5.2  拓扑执行异常重启

MAS共运行了三个拓扑:

1kepler_custom 自定义分析拓扑

2kepler_mPaaS_master 基础大盘拓扑

3kepler_mPaaS_replays 日志检索拓扑

当出现以下场景可以进行重启:

1nimbus不可用,jstorm节点挂掉之后无法调度worker到其他jstorm节点

2nimbu可用,jstorm节点不可用导致拓扑异常

重启方法:进入nimbus容器执行以下命令

su admin

/home/admin/jstorm/bin/jstorm restart kepler_custom  ## 重启自定义分析拓扑

/home/admin/jstorm/bin/jstorm restart kepler_mPaaS_master    ## 重启基础大盘拓扑

/home/admin/jstorm/bin/jstorm restart kepler_mPaaS_replays  ## 重启全文检索拓扑

相关文章
|
22天前
|
移动开发 安全 物联网
润开鸿与蚂蚁数科达成战略合作,发布基于鸿蒙的mPaaS移动应用开发产品
润开鸿与蚂蚁数科签署战略合作协议,发布基于鸿蒙的mPaaS移动应用开发产品,旨在打造多元化创新应用场景解决方案,尤其推动金融行业基于鸿蒙的应用开发。mPaaS鸿蒙原生版提供“交钥匙”方案,降低开发门槛,提高效率。双方合作将加速行业鸿蒙原生应用发展,助力国产化数字化转型。
25 3
|
14天前
|
运维 DataWorks 关系型数据库
DataWorks产品使用合集之DataWorks中如何提升运维中心实时同步任务的运行速度
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 1
|
14天前
|
分布式计算 DataWorks 数据库
DataWorks产品使用合集之DataWorks运维大屏中,将图表设置为动态趋势图如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 0
|
9月前
|
运维 应用服务中间件 数据库
【运维知识进阶篇】用LNPM架构部署知乎产品Wecenter
【运维知识进阶篇】用LNPM架构部署知乎产品Wecenter
85 0
|
12月前
|
存储 弹性计算 运维
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(1)
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(1)
105 0
|
12月前
|
存储 弹性计算 运维
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(2)
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(2)
107 0
|
12月前
|
云安全 弹性计算 运维
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(4)
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(4)
79 0
|
12月前
|
弹性计算 运维 网络安全
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(5)
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(5)
105 0
|
12月前
|
机器学习/深度学习 弹性计算 人工智能
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(7)
《企业运维之弹性计算原理与实践》——第一章 云网络总览与概述——第一章(上):云服务及弹性产品介绍(7)
58 0
|
12月前
|
弹性计算 运维 负载均衡
《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(1)
《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——负载均衡CLB(上)-产品和架构(1)
211 0