客户端监控要怎么做?

本文介绍了如何搭建端到端的应用性能管理系统(APM),重点关注客户端监控,特别是网络数据的监控。通过在客户端植入SDK,收集包括网络请求耗时、异常事件等信息,上报至服务端的APM通道服务,存储于Elasticsearch并形成报表。监控网络数据能实时反映用户体验,帮助定位和优化问题,如DNS解析延迟、跨网流量等。同时,异常数据的监控有助于快速响应客户端异常情况,提升服务质量和用户满意度。
摘要由CSDN通过智能技术生成

文章出自:阿里巴巴十亿级并发系统设计(2021版)

链接:https://pan.baidu.com/s/1lbqQhDWjdZe1CBU-6U4jhA 提取码:8888 

目录

如何搭建 APM 系统

需要监控用户的哪些信息

课程小结


上一节课中,我带你了解了服务端监控搭建的过程。有了监控报表之后,你的团队在维护垂直电商系统时,就可以更早地发现问题,也有直观的工具辅助你们分析排查问题了。不过,你很快发现,有一些问题,服务端的监控报表无法排查,甚至无法感知。比如,有用户反馈创建订单失败,但是从服务端的报表来看,并没有什么明显的性能波动,从存储在 Elasticsearch 里的原始日志中,甚至没有找到这次创建订单的请求。这有可能是客户端有 Bug,或者网络抖动导致创建订单的请求并没有发送到服务端。再比如,有些用户会反馈,使用长城宽带打开商品详情页面特别慢,甚至出现 DNS 解析失败的情况。那么,当我们遇到这类问题时,要如何排查和优化呢?

这里面涉及一个概念叫应用性能管理(Application Performance Management,简称 APM),它的含义是:对应用各个层面做全方位的监测,期望及时发现可能存在的问题, 并加以解决,从而提升系统的性能和可用性。你是不是觉得和之前讲到的服务端监控很相似?其实,服务端监控的核心关注点是后端服务的性能和可用性,而应用性能管理的核心关注点是终端用户的使用体验,也就是你需要衡量,从客户端请求发出开始,到响应数据返回到客户端为止,这个端到端的整体链路上的性能情况。 如果你能做到这一点,那么无论是订单创建问题的排查,还是长城宽带用户页面打开缓慢的问题,都可以通过这套监控来发现和排查。那么,如何搭建这么一套端到端的监控体系呢?

如何搭建 APM 系统

与搭建服务端监控系统类似,在搭建端到端的=应用性能管理系统时,我们也可以从数据的采集、存储和展示几个方面来思考。

首先,在数据采集方面,我们可以采用类似 Agent 的方式,在客户端上植入 SDK,由 SDK 负责采集信息,并且经过采样之后,通过一个固定的接口,定期发送给服务端。这个 固定接口和服务端,我们可以称为 APM 通道服务。虽然客户端需要监控的指标很多,比如监控网络情况、监控客户端卡顿情况、垃圾收集数据等等,但我们可以定义一种通用的数据采集格式。 比如,在我之前的公司里,采集的数据包含下面几个部分,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值