1、亿级用户下支付宝APP运维可观测体系陈伟荣(蚂蚁集团高级技术专家)2015年加入阿里集团,此后一直在可观测领域工作。阿里电商可观测平台 Sunfire 创始团队成员。2017年转岗蚂蚁集团,为蚂蚁 Xflush核心研发。2019 年起负责蚂蚁可观测技术与架构团队,带领团队经过多年工作,产出了蚂蚁统一可观测平台 AntMonitor、开源时序数据库CeresDB、开源可观测平台 HoloInsight 等成果。蚂蚁客户端可观测体系介绍客户端可观测技术难点客户端可观测核心技术分享开源与技术演进蚂蚁客户端可观测体系介绍蚂蚁客户端可观测体系介绍什么是客户端(常见的表现形式)客户端技术发展趋势与客户端可
2、观测1.客户端架构复杂化瘦客户端(thin client)-富客户端(fat client)客户端架构分层(框架、中间件、API)客户端平台化(微信、支付宝小程序等)2.用户体验与用户价值传递的最后一站(Real User Monitoring)端到端全链路全栈监控可观测的缺失一环洞见高频或严重的用户使用的问题真实环境用户行为与体验的分析,解决单一环境测试的盲区蚂蚁客户端可观测体系介绍DeviceAndroid PhoneiOS PhoneIOT 设备Application支付宝 App财富 AppIOT 系统业务小程序支付直播场景五福双11版本发布高可用保障OAT升级App 性能白屏App
3、存储闪退告警观测分析质量洞察平台开放客户端整体目标观测覆盖介绍蚂蚁客户端可观测体系介绍客户端运维保障合作团队与用户分析客户端发布平台小程序质量洞察平台客户端高可用保障平台行业保障平台AntMonitor 可观测平台前端一体化研发平台对接上层业务平台系统用户分析支付宝 App框架研发质量保障与运维商户与三方小程序一方二方小程序研发客户端可观测技术难点客户端可观测技术难点与业界类似:蚂蚁常规服务端可观测数据Metrics ExporterApplicationLogSofaTracer蚂蚁的主要观测数据MetricsLog蚂蚁AntMonitor1.实时指标平台2.日志排查平台3.Trace 平台
4、客户端可观测技术难点客户端的数据特点(杂、乱、多)1.Trace客户端内部本身因架构复杂化,内部包含 trace 链路。但均为(单机:单个手机app)内部的 trace 利用价值低于服务端(服务化架构)客户端 Trace 和服务端 Trace 之间基本是割裂的2.日志因设备量级巨大,客户端日志体量大,需要在处理过程中大量进行采样、还原等各种类似的操作App 长期历史版本共存。日志格式和 App 或客户端应用程序版本绑定,处理困难。业务和技术维度多样3.MetricApp 长期历史版本共存。Metric 内容,语义等各方面历史负债累累。数据维度爆炸,与服务端一致同质的数据不一样。需要将各种变化因
5、素都打到 tag 中,维度乘开组合过多(比如:省份、手机系统、硬件、app 版本等维度)重多维分析,客户端问题影响因素众多,大部分指标无法提前聚合(或者聚合成本过高),需要 ad-hoc 分析能力与服务端类似,维度数据需要补全,映射等客户端可观测技术难点客户端的可观测业务诉求客户端监控与观测设备多样场景多样实时性海量日志深度下钻指标多样在海量数据下,支撑多场景,海量设备,多样的被观测实体的分析、告警、应急等随着业务的不同,场景也复杂多样了起来,如IOT的多场景、版本发布场景等业务场景覆盖需要在海量设备里,找到指标异常的设备,进入应急处理,提升用户体验海量异常设备洞察不仅是日常小程序等高可用支持
6、,还要满足域内各业务、开发人员的客户端日志的分析,支持各业务的开发决策用户自定义支持除了AntMonitor监控之外,还要和开发平台、客户端高可用保障平台和行业保障等多个监控平台合作,提供数据支持合作开放客户端可观测技术难点维度(Tag)爆炸与多维分析归纳:难点的技术问题采集与埋点规范海量多样化被观测实体告警海量数据处理与水平伸缩架构本次分享重点聚焦问题客户端可观测核心技术分享客户端可观测核心技术分享整体架构指标标准/数据开放/合作对接Client Log Data Source客户端日志 SLS客户端日志 服务端预处理(Server)维度服务客户端多维