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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
mPaaS订阅基础套餐,标准版 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 移动分析服务(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  ## 重启全文检索拓扑

目录
相关文章
|
17天前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
40 4
|
4月前
|
弹性计算 人工智能 运维
OS Copilot产品体验测评:运维辅助的革新
阿里云推出基于大模型的Linux智能助手OS Copilot,专为Alibaba Cloud Linux设计,旨在通过智能化功能革新操作系统体验。
142 35
OS Copilot产品体验测评:运维辅助的革新
|
3月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之运维中心中的运行日志可以保留多久
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之运维中心无法打开该怎么办
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之运维中心无法打开该怎么办
|
3月前
|
数据采集 SQL 运维
DataWorks产品使用合集之运维中心的详细日志是一直wait,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
存储 运维 DataWorks
DataWorks产品使用合集之如何把运维中心数据集成里面各个任务的执行时间拉取出来
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
运维 关系型数据库 流计算
实时计算 Flink版产品使用问题之作业运维界面无状态启动并指定时间和代码里指'scan.startup.mode'='latest-offset',哪个优先级更高
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
弹性计算 人工智能 安全
|
4月前
|
人工智能 运维
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计
|
5月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之如何访问周期任务运维
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
44 0