《美团客户端监控与异常排查实践.pdf》由会员分享,可在线阅读,更多相关《美团客户端监控与异常排查实践.pdf(43页珍藏版)》请在三个皮匠报告上搜索。
1、美团客户端监控与异常排查实践美团客户端监控与异常排查实践背景背景监控报警监控报警异常排查异常排查技术挑战技术挑战总结总结6背景异常发现异常排查异常修复痛点异常发现慢异常定位慢8归因2个监控报警异常发现慢异常排查异常定位慢目录目录背景背景监控报警监控报警异常排查异常排查技术挑战技术挑战总结总结9监控报警11业务异常反馈渠道定位失败分享失败页面无法跳转客服反馈客服反馈缺乏业务的异常监控12业务度200+200+品类品类2800+2800+城区县城区县13业务异常AOPAOP方式方式自动监控自动监控页面跳转失败Json解析失败网络请求失败注解方式注解方式半自动半自动监控监控View检测:是否可见路径
2、检测:是否指定页面错误回调:错误回调函数埋点方式埋点方式手手动动监控监控定位失败登陆失败下单失败123下发简易埋点下发简易埋点动态监控动态监控支持下发简易监控动态新增414背景如何动态新增简易监控埋点?原理编译期方法前插桩插桩代码获取当前对象this与方法参数在指定方法新增监控逻辑动态监控获取获取 当前对象当前对象ThisThis+方法参数方法参数插桩代码插桩代码方法体方法体动态监控方法代码动态新增简易监控点动态新增简易监控点15技术选型编译耗时iOS不支持Native代码(补丁)动态脚本速度快无需编译,直接运行支持android iOSLua、js平台平台数据数据仓库仓库1.生成信令2.翻译
3、并上传信令3.添加推送服务4.下发信令5.上报数据6.数据翻译7.定位问题Shark 推送推送Push 推送推送配置服配置服务务客客户端户端Mapping服服务务CI构建构建用用户画像户画像产生动态脚本执行动态脚本16动态脚本具箱动态脚本工具箱脚本语法提示代码混淆提示器(类方法字段)内置常见功能系统方法提示脚本Demo17业务监控架构设计酒旅酒旅美食美食打车打车自动监控自动监控半自动监控半自动监控手动监控手动监控位置信息位置信息上下文信息上下文信息系统环境系统环境用户环境用户环境日志上报日志上报信令下发信令下发动态回捞动态回捞方法反方法反混淆混淆资源资源idid还原还原KafkaKafkaES
4、ES存储存储数据计算数据计算动态配置动态配置服务服务StormStorm作业作业业务层接口层基础SDK基础服务监控平台IM/IM/邮件邮件外卖外卖AOPAOP业务视图业务视图实时监控实时监控个案排查个案排查优化对比优化对比动态监控动态监控辅助信息设计思路 多种监控方式 实时数据指标 分钟级监控报警 可视化监控视图18效果19完善监控体系目录目录背景背景监控报警监控报警异常排查异常排查技术挑战技术挑战总结总结20异常分类无有效日志异常无日志信息的异常只有系统日志的异常日志被截断的异常小概率异常 只发生一次的异常 上下文数据相关的异常 地理位置有关的异常java.lang.RuntimeExcep
5、tion:An error occurred while executing doInBackground()at android.support.v4.content.ModernAsyncTask$3.done()at java.lang.Thread.run(Thread.java:764).3 more3 moreCrash监控发现崩溃业务监控发现异常排查现状3 3.QA.QA复现复现1 1.发临时包发临时包2 2.在线调试在线调试系统碎片化系统碎片化网络环境网络环境机型机型ROMROM系统版本系统版本本地环境本地环境需用户需用户配合配合解决时间长解决时间长用户难接受用户难接受网络不稳
6、定网络不稳定调试成本高调试成本高方式方式弊端弊端站在异常排查的度的监控监控监控依赖于异常排查提供有效日志,来解决无有效日志异常异常排查异常排查反过来又依赖于监控的时机获取归因信息,来解决小概率异常排查异常的信息维度 目标:无有效日志异常 用户操作路径 方法调用堆栈 目标:小概率异常 上下文数据 权限列表 网络请求与响应 异常时间 上报时间 存储时间 异常频率 手机型号 系统版本 应用版本 设备标识 登录状态 进程状态 线程状态 埋点日志位置维度-WhereQA用户操作路径方法调用堆栈模拟成功复现用户操作路径记录用户的浏览页面记录用户的点击操作方法调用堆栈