什么是应用监控

ARMS应用监控是一款应用性能管理(Application Performance Management,简称APM)产品。您无需修改代码,只需为应用安装一个探针,ARMS就能够对应用进行全方位监控,帮助您全面掌控应用运行状态,快速定位出错接口和慢接口,洞察性能瓶颈,重现调用参数,从而大幅提升线上问题诊断的效率。

前置概念

阅读本文前,您可能需要了解如下概念:

一键接入

ARMS应用监控通过探针技术,在应用运行态进行字节码增强,实现应用性能管理能力,因此接入ARMS应用监控不会涉及到任何一行业务代码的改动,甚至在研发态都不需要感知探针的存在。部署在容器服务Kubernetes中的应用,以及部署在ECS的应用,都可以通过ARMS接入中心,实现探针自动注入,进一步降低接入成本。

自动发现应用拓扑

ARMS应用监控探针能够自动发现应用的上下游依赖关系,有效地捕获不同应用之间通过RPC框架以及HTTP框架(例如Spring Cloud、Dubbo等协议)组成的调用链,通过应用拓扑进行可视化呈现,并在应用拓扑中覆盖MySQL、Redis、RocketMQ等常用的中间件。您可以通过应用拓扑轻松发现系统中的性能瓶颈和异常调用。

自动发现并监控接口

ARMS应用监控能够自动发现和监控应用代码中常见的HTTP框架和RPC框架,并自动统计HTTP接口和RPC接口的调用量、响应时间、错误数、异常数等指标。通过接口监控和调用链视图,您可以快速排查在整条调用链路中,到底是哪一个环节导致了性能问题。

多维调用链分析

通过ARMS应用监控提供的调用链分析工具,您可以自由组合筛选条件与聚合维度对调用链进行实时分析,轻松应对查看耗时大于指定时间的慢调用时序分布,查看错误请求在不同机器上的分布,查看VIP客户的流量变化等典型的线上问题。

SQL分析

对于常用的关系型SQL(例如MySQLPostgreSQL)以及NoSQL数据库(比如RedisMongoDB)调用,ARMS提供了慢SQL分析能力,帮助您对慢事务等生产环境常见问题进行更细致的分析。

智能洞察

对于应用服务响应时间突增、错误率突增等常见的问题,ARMS提供了智能洞察能力,您无需做任何设置,智能洞察将会基于应用历史数据并结合智能算法完成巡检,给出具体的根因分析和建议,同时支持订阅告警,帮助您一键触达问题根因。

持续剖析

ARMS应用监控提供持续剖析功能,可以基于极小的性能开销,在线诊断CPU、内存的使用明细情况,并且按照方法名称、类名称和行号进行细分统计,最终协助开发者优化程序、降低延迟、增加吞吐、节约成本。

告警集成

ARMS监控针对JVM、主机、接口服务情况等指标类型,预置了50种以上的告警规则,您可以对这些规则进行灵活的调整与组合,并通过ARMS告警管理,实现告警的收敛、通知、升级、协同处理,确保及时发现并修复线上故障。

开源集成

ARMS应用监控深度融合OpenTelemetry标准,可以实现多语言、异构技术栈之间的链路互通。ARMS应用监控收集并处理的应用指标数据,会统一保存在用户名下的可观测监控 Prometheus 版实例中,并提供了默认的Grafana大盘,您可以基于PromQL等标准进行深度定制和二次开发。