4.3.3 ARMS最佳实践
4.3.3.1 系统监控以及应用拓扑发现
ARMS应用监控探针能够自动发现应用的上下游依赖关系。具体而言,该探针能够有效捕获、智能计算、自动展示不同应用之间通过RPC框架(例如Dubbo、HTTP、HSF等协议)组成的调用链。ARMS支持展示接口调用链路拓扑、数据库调用链路拓扑、NoSQL调用链路拓扑、MQ调用链路拓扑。可以通过相关的应用拓扑轻松发现系统中的性能瓶颈和异常调用。以下是ARMS的调用链路拓扑图,从此链路图中可以看到系统各个组件的请求数量、请求错误数、以及请求响应时长。用户可以根据具体对比具体链路的请求错误数量来发现业务异常,通过查看请求响应时长来查看影响系统性能提升的具体模块,然后根据具体模块接口调用情况分析接口慢调用情况,结合SQL调用分析日志以及业务日志来具体定位出慢调用模块的系统性能瓶颈。当然并不是所有瓶颈都发生在业务层面,当出现系统调用瓶颈是查看对应的业务部署环境也是必要的。ARMS对部署环境监控支持JVM监控、主机监控、Pod监控。通过JVM监控可以看到JAVA应用的GC情况、堆栈使用情况、JVM线程数,这对分析JAVA应用网络调用慢、应用OOM等JAVA应用问题是很有帮助的。主机监控则展示了主机的CPU、物理内存、磁盘、网络流量等重要指标,用户可以根据这些指标来判断是否需要增加业务使用的依赖资源。
图:完整调用链路拓扑
图:JVM监控
图:主机监控
4.3.3.2 异常事务以及慢事务分析
ARMS在链路监控的基础上支持更进一步获取接口的慢SQL、MQ堆积分析报表、异常分类报表以及异常分类报表。用户可以根据报表中展示的异常堆栈信息以及程序接口调用耗时快速定位异常事务。通过接口具体方法执行耗时以及方法中的业务SQL调用分析对慢事务进行更为细致的问题定位,结合主机监控全面分析系统的瓶颈所在,从而进一步提高系统的性能。
图:流式处理示例
《企业级云原生白皮书项目实战》——第四章 云原生中间件——4.3 可观测产品ARMS——4.3.3ARMS最佳实践(下) https://developer.aliyun.com/article/1229049?groupCode=supportservice