ARMS应用监控是一款应用性能管理(Application Performance Management,简称APM)产品。您无需修改代码,只需为应用安装一个探针,ARMS就能够对应用进行全方位监控,帮助您全面掌控应用运行状态,快速定位出错接口和慢接口,洞察性能瓶颈,重现调用参数、从而大幅提升线上问题诊断的效率。阿里云ARMS应用监控的优势包含以下几点。
开箱即用 | 稳定性保障 | 规模无上限 |
|
|
|
高阶诊断能力 | 集成能力 & 开源兼容 | 低成本 |
|
|
|
ARMS应用监控与开源产品对比
优势对比项 | 阿里云应用监控 | 开源APM |
购买资源和系统搭建 | 阿里云全托管 | 自行购买相关资源并部署系统 |
运维成本 | 免运维 | 日常自行运维 |
应用接入 | 容器服务ACK和ECS环境支持一键接入,探针自动升级。 | 手工接入,配置工作量大,不支持探针自动升级。 |
性能开销 | 性能开销低于5%。通过惰性类加载、无损计数、链路限流采样保护、URL自动收敛、长文本压缩编码、内存控制等技术,保障探针长时间稳定运行。 | 在高吞吐量场景下,性能开销会在10%以上,稳定性无法保障。 |
SLA保障 | 99.5% SLA保障。支持多可用区容灾、SLO 监控预警、应急响应值班等措施。 | 不提供 |
性能与水平扩展 | 支持10万节点规模的自动水平扩展 | 自行解决分布式水平扩展问题 |
应用标签 & 实例标签 | 查看指定标签的拓扑、监控、链路数据。 | 不支持 |
Dubbo埋点能力 | 详细记录路由、寻址、编码等各段耗时。 | 只支持粗粒度埋点 |
无损统计 | 通过端侧预聚合技术以及自适应采样技术采集应用调用链,确保采样准确性不受采样率影响。 | 不支持,必须依赖100%采样。 |
业务接口监控 | 以代码无侵入的方式,可视化定义业务请求,提供贴合业务的丰富性能指标与诊断能力。 | 需要修改业务代码 |
接口名称收敛 | 支持自动收敛和手动配置正则两种收敛方式,白屏配置,无需重启应用。 | 需要手工写入配置文件,并重启应用。 |
本地方法栈分析 | 并对于慢调用场景自动保存本地方法栈信息,随时回溯,帮助用户剖析本地方法栈执行过程中的性能瓶颈。 | 仅支持对特定服务手动触发本地方法栈信息保存。 |
线程分析 | 提供线程粒度的CPU耗时和每类线程数量的统计,可真实还原代码执行过程。 | 不支持 |
线程池监控/连接池监控 | 支持对特定的线程池(例如Tomcat、Dubbo)以及特定的连接池(例如Druid)进行监控。 | 不支持 |
异常分析/错误分析 | 提供独立的异常分析以及错误分析视图。 | 不支持 |
前后端链路串连 | 与ARMS前端监控集成,实现用户界面与服务端应用的全链路打通,可以在同一个页面看到完整链路。 | 不支持 |
智能洞察 | 基于真实业务场景沉淀专家级SRE经验,针对N+1问题、流量突增、延迟突增等场景,实现一键触达根因。 | 不支持 |
内存快照 | 在线创建内存快照,并提供在线分析工具,帮助用户排查内存泄漏和内存浪费等内存问题。 | 不支持 |
Arthas集成 | 利用字节码增强技术,可以在不重启进程的情况下,查看应用运行的明细情况,比如方法的参数、异常、返回值。 | 不支持 |
告警规则 | 针对JVM、主机、接口服务情况等指标类型,预置了50种以上的告警规则,通过白屏化方式配置,除基本算子外,支持同环比,支持智能阈值配置能力。 | 仅支持配置文件配置,仅支持简单的大于、小于、等于算子。 |
告警通知 | 并集成ARMS告警平台,支持多渠道推送、告警工作流、分组、压缩、降噪等能力,帮助用户完成ITSM闭环。 | 需要另外搭建告警相关组件,对于误报、告警风暴等问题,缺少成熟的解决方案。 |
Prometheus集成 | 应用指标数据统一保存在用户名下的可观测监控 Prometheus 版实例中,并提供了默认的Grafana大盘,您可以基于PromQL等标准进行深度定制和二次开发。 | 不支持 |
成本 | 随启随停,按真实使用量收费,并可以通过容器服务ACK接入以及预付费资源包,更进一步降低费用成本。 | 需要用户自行搭建一整套技术组件,并做好容量规划。由于依赖100%采样来确保指标准确性,当请求量达到一定规模的时候,成本急剧飙升。 |
专家服务 | 通过工单系统,可以与SRE领域专家交流疑难问题的定位经验。 | 不提供 |