业务&用户体验可观测场景解读
四、ARMS—前端监控&APP 监控
1.ARMS—前端监控&APP 监控简介
ARMS 前端监控和 App 监控是基于真实用户访问数据,面向不同终端的用户体验监控工具,从页面性能、错误和异常分析、网络请求、App 崩溃等多个角度对用户终端进行监控,同时提供地域、设备、网络、运营商等多维分析能力。
(1)ARMS—前端监控&APP 监控简介特点
①兼容多平台:支持 web、H5、小程序、iOS、Andriod 等多种用户终端。
②端到端分析:支持与应用监控的调用链进行关联,实现端到端的性能分析和定位。
③接入简单:无需埋点,支持多种接入方式灵活接入。
④在线诊断:前端监控一键诊断;APP 监控异常分析和日志拉取,协助定位问题根因。
2.前段监控—端到端的 API 请求性能分析
应用场景:多维度(例如,版本、操作系统、设备、浏览器、地域、网络)查看页面调用各种 API 的性能情况,同时和应用监控联动,实现端到端的链路追踪。
3.前端监控—多维度分析
(1)核心能力
支持从多维度来看数据,对性能的相关指标进行分析,能够帮助定位到具体是哪个维度的问题,如设备、地域、网络问题。
①地理(中国省市、全球国家)
②终端(浏览器、设备、操作系统、分辨率)
③网络(运营商、网络制式)
(2)应用场景
为问题定位、业务决策提供数据支撑
4.前端监控—用户会话追踪
(1)应用场景
用户故障跟踪:
当打开某个页面出错或打开很慢,在这种场景下需要用到前端监控的用户会话追踪。客户需要根据某一个用户 ID,查看该用户在平台都做过什么操作,访问了哪些页面,这些页面是否有报错和缓慢问题。
5.前端监控—JS 错误分析
应用场景:多维度查看页面产生的 JS 错误数、错误率及错误影响到的用户具体数量和比例,帮助做影响面的分析和决策的相关支持,并追溯根因。
6.APP 监控—稳定性的相关分析
(1)多种类型稳定性问题
①崩溃分析,包括 crash 和 abort。
②ANR 卡顿分析。
③异常发现,包括内存泄漏和主线程 IO 的异常。
(2)多维分析
①版本&设备&运营商&地域&网络多维统计
②影响面分析&明细下钻
7.APP 监控—性能分析
(1)端到端的网络性能分析
①监控 App 端网络性能
②一键关联到后端应用调研链路
③实现快速定位到造成慢接口的应用和代码
8.APP 监控—远程日志
(1)轻量级 APP 日志监控工具
只需接入 App SDK 便可以便捷获取 App 运行日志,无需建设“埋点-采集-搜索”系统
①拉取全量移动端上的崩溃异常日志,还原出错现场,快速定位复杂问题。
②单独客户反馈异常问题,可快速拉取日志进行排查。可以新建指定设备、版本、系统的拉取任务,主动拉取用户 APP 设备上的日志,同时也会拉取当时机器 cpu 的表现,辅助进行决策。
③智能 crash 拉取:自动化的创建任务,智能化的选取设备,帮您预先获取问题设备日志,帮助节省问题排查时间。
五、客户案例分享
1.云拨测助力节卡机器人,全面优化海外网站性能
(1)背景:节卡机器人经过多年发展,与全球超过 300 家自动化方案公司紧密合作,并部署了上万台机器人服务于汽车、电子、半导体等全球知名品牌的生产线,同样也在众多商业新消费领域从事与消费者直接接触的服务工作。
(2)业务需求:为了更好地服务全球各地区客户,节卡机器人将线上营销作为其最重要的市场营销手段。因此,节卡机器人每年花费大量市场预算进行谷歌等海外广告投放,当预算不断被消耗,如何确保投放的落地页、官网能够被正常快速访问,成为运营团队以及运维团队面临的首要问题。若官网出现性能问题,会影响转化率和有可能造成谷歌停止对其服务。
(3)方案:经过与客户沟通分析,节卡决定采用 ARMS 云拨测对海外官网性能进行监控,选取了北美、欧洲、南美洲、东南亚等主要国家的 LastMile (真实网民)监测点,配置浏览器拨测任务,对节卡的海外官网进行持续的性能监测。
(4)通过监测发现的问题
①部分地区 CDN 调度不准确
通过对拨测日志进行分析,发现节卡官网在欧洲和南美洲的 CDN 加速实现了就近访问,但美东和东南亚地区 CDN 未达到预期效果。
②页面存在过大元素
发现官网首页的图片文件体积过大,因此造成下载时间过长。
(5)价值:经过与 CDN 供应商沟通后,优化了美东和东南亚的 CDN 调度逻辑,同时对页面图片进行压缩,整体网站打开速度提升 50%,保证了在线营销的效果。
2.ARMS 前端监控帮助核桃编程实现在线教学用户体验提升
(1)背景:核桃编程是少儿编程教育行业的领导者,核桃编程的业务量飞速发展,仅仅 3 年时间付费学员人数就突破了 200 万,并实现了单月营收过亿。
(2)业务需求:随着系统架构变得复杂提升分布式系统的可观测性是重中之重。在教育行业中,用户体验是非常重要的,用户体验会直接决定品牌的形象,由于采用微服的架构,在线上编程教学场景里面,用户一个简单的操作,就有可能涉及到前后端系统的多次交互,以及多个服务端微服务应用之间的相互调用,甚至还会受到第三方服务接口的影响。任何一个环节出现故障或者性能瓶颈,都会导致用户体验的断崖式下跌而用户体验又是决定品牌形象的核心要素,所以对于核桃技术团队而言,如何保证优秀的用户体验成为运维团队亟待解决的问题。
(3)方案:
①快速接入前端监控:不需要埋点,唯一要做的事情是在客户端 HTML 页面的 Body 元素中加入段 ARMS 提供的统计接入脚本就能完成监控数据的自动上报。
②性能洞察:研发人员可以从前端监控控制台全面了解应用端到端的健康程度,包括 PV/UV 情况统计、页面加载速度情况、js 执行情况,api 请求成功率等多个方面性能数据。能够快速定位到问题的归因。
③多维分析:ARMS 前端监控能够从地理位置、浏览器、操作系统、分辨率、网络运营商、应用版本等多个方面维护,对性能指标进行聚合分析,从而帮助核桃编程更好地定位性能瓶颈。
④及时告警:运用 ARMS 创建报警规则,遇到用户体验问题时第一时间告警真正实现线上问题 5 分钟内发现 10 分钟内隔离 30 分钟内解决。
(1)价值:完善的 ARMS 前端可观测体系在帮助核桃编程减少了 30%以上运维工作量同时,还缩短了 60%以上的故障定位平均耗时,极大地提升了用户体验,为业务持续发展打下了坚实的基础。
3.淘宝利用 APP 监控快速定位崩溃根因并进行修复验证
●新版本灰度发布后,crash 率出现大幅上升,收到告警。
●在 Top 列表中获取亟需解决的高比例崩溃。
●明细分析中定位崩溃位置;多维分析中发现与设备机型有关。
●拉取对应机型设备的远程日志;获取问题上下文,定位代码中业务缺陷。
●发布 patch 修复,验证 crash 率是否回落;多次灰度稳定后发布正式版本。通过 APP 监测观察是否达到了预期效果。