《企业级云原生白皮书项目实战》——第四章 云原生中间件——4.3 可观测产品ARMS——4.3.3ARMS最佳实践(上) https://developer.aliyun.com/article/1229051?groupCode=supportservice
4.3.3.3 接口监控
ARMS应用监控能够自动发现和监控应用代码中常见的Web框架和RPC框架,并自动统计Web接口和RPC接口的调用量、响应时间、错误数等指标。通过此类监控可以追踪一个请求的生命生命周期,从而为后续系统性能优化以及业务异常定位基础依赖。
图:各接口监控信息
4.3.3.4 系统全链路性能诊断
当进行应用发布或者对应用进行压测时,可以使用ARMS应用监控的实时诊断功能。开启实时诊断后,ARMS应用监控会持续监控应用5分钟,并在这5分钟内全量上报调用链数据。接下来,您就能以出现性能问题的调用链路为起点,通过方法栈瀑布图和线程剖析等功能定位问题原因。以下图为例,可以看出系统普遍的成功请求分布在100ms左右,同时有部分成功请求分布在1s~10s之间以及10ms左右。在此基础上可以对这三类数据进行调用链路分析,通过这三类请求的具体调用链路差异,从而发现系统性能瓶颈。通过对Error请求的调用链路分析可以定位业务上是否存在可能的异常,为团队提供快速问题定位能力。
图:实时请求分布图
4.3.3.5 前端监控
用户访问业务时,整个访问过程大致可以分为三个阶段:页面生产时(服务器端状态)、页面加载时以及页面运行时。为了保证线上业务稳定运行,传统监控方式会在服务器端对业务的运行状态进行各种监控,目前现有的服务器端监控技术体系相对已经很成熟,但是页面加载和页面运行时的状态监控一直比较欠缺。例如:业务方无法第一时间获知用户访问站点时遇到的错误,各个国家、各个地区的用户访问站点的真实速度,不同终端设备访问站点的请求情况。同时每个应用内又有大量的异步数据调用,而它们的性能、成功率都是未知的。ARMS前端监控重点监控页面的加载过程和运行时状态,同时将页面加载性能、运行时异常以及API调用状态和耗时等数据,实时上报到日志服务器。之后业务方可以借助ARMS提供的海量实时日志分析和处理服务,对当前线上所有真实用户的访问情况进行监控。例如可以通过不同页面的访问情况来定位业务瓶颈;通过不同地理位置的访问情况来判断是否区域网络存在问题、系统是否需要针对某些地域访问做出优化等;通过不同网络可以分析系统在不同网络下的表现,从而定位整个应用系统非业务瓶颈问题以及整个应用在复杂环境下的性能情况。
图:前端监控总览