带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(6)https://developer.aliyun.com/article/1340963?groupCode=taobaotech
提升日志上传成功率,从几个方面保障在排查问题时有日志供应过来,一是内置日志主动上传能力,在核心场景 或问题反馈多时机触发,提高日志触达率,如舆情反馈、新功能上线发生异常时;二对TLOG能力进行升级,涉 及到分片策略、重试、日志治理等优化,解决以往用户反馈较多日志上传的时效问题;最后是收集各类异常信息,作为快照,通过MTOP链路旁路上报,辅助还原现场。
提升日志的定位效率,首先对日志做分类,如区分出页面日志、全链路日志支持快速筛选过滤;接着是打通各个 场景的全链路调用拓扑结构,目的是可以快速看出问题发生在哪个节点,以便快速分发处理;最后结构化错误、 慢、UI卡等问题,原则是将领域问题的解释权交给领域,比如卡顿日志有几类,如APM冻帧、ANR、主线程卡 顿等;业务类有请求失败、请求RT大于xx时间、页面白屏等,通过各领域的能力 对接来提升问题的快速诊断定位能力。
全链路追踪能力建设,鹰眼(分布式跟踪系统在阿里后端的实现)接入业务众多,日志量大,不可避免要做日志的采样,对于没有命中采样的调用,缓存只有5分钟,需要想办法在5分钟内通知鹰眼保持更久的时间。第一阶段,后端解析服务会解析出调用链的鹰眼ID,通知鹰眼服务存储对应的trace日志,成功通知后可以存3天;第二阶段感知网关发生异常,取出鹰眼ID,通知鹰眼存储将存储前置;第三阶段,类似场景追踪,获取核心场景的鹰眼trace日志,尝试放在摩天轮平台上存储。第一阶段已经上线,可以做到关联跳转鹰眼平台,一般从问题发生到 排查都过了5分钟,因此成功率不高,还需要结合2、3阶段进一步提升成功率,正在规划开发中。
平台能力的建设,基于端侧全链路日志做解析,在可视化方面,通过结构化展示全链路日志内容,方便快速部分节点的异常;还有就是基于结构化日志,对全链路日志中的耗时异常、接口报错、数据大小异常等问题进行快速诊断。
以上是今年在运维做的一些尝试,目的是希望可以通过技术升级,在排查领域用技术赋能代替流程赋能。下面接着继续给大家展示下淘宝的实践和集团其它app接入的效果。
全链路运维实践
淘宝卡顿问题排查
内部同事反馈在海外用淘宝App,出现卡、部分页面打不开等现象,经过上诉排查过程,提取到TLOG日志后。
通过“全链路可视化”功能(图10),可以看到H5页面spanID为0.1的network状态为“失败”,导致页面打不 开。
通过“全链路诊断”耗时异常功能(图11),可以看到大量network耗时分布在2s、3s+,有的甚至8s+, network阶段发生在请求调用阶段(传输),与海外用户访问到阿里的CDN节点慢相关。
(图13 全链路可视化功能)
(图14 全链路卡顿诊断功能)
带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(8)https://developer.aliyun.com/article/1340961?groupCode=taobaotech