阿里云Elasticsearch应用性能监控分析服务APM(Application Performance Management)是阿里云基于开源Elastic Stack构建的云上一键托管实例性能监控服务,使用阿里云Elasticsearch作为其数据存储,能够实时监控数千个应用程序的性能,支持通过Agent收集并传入请求、数据库查询、外部HTTP请求和错误及异常等多种详细的性能信息,并通过Kibana可视化分析,为您提供高效的应用程序性能优化与监控能力。

功能介绍

阿里云Elasticsearch应用性能监控分析服务包含以下功能模块。功能模块
功能模块 说明
应用性能数据采集代理APM Agent 您可以根据系统默认提供的代理Agent及数据采集模板,进行数据收集;还可以使用与服务相同的语言编写的开源库,代理程序会结合应用程序收集性能指标和错误,最终将收集到的所有数据发送至Server端。
应用性能数据处理服务端实例APM Server 阿里云Elasitcsearch提供云上一键托管的应用性能监控Server实例,支持一键快速创建APM Server实例,并支持对实例进行灵活高效的扩缩及配置。Server实例通过JSON HTTP API从代理接收数据,并构建Elasticsearch文档,再将文档存储在Elasticsearch集群中,单个Server节点通常可以处理来自数百个代理APM Agent的数据。
阿里云Elasticsearch 您可以为Server节点配置关联已有的阿里云Elasticsearch实例(如果没有,则需要新建实例),从而进行性能指标数据存储及分析;结合阿里云Elasticsearch自研的日志增强版Indexing Service以及海量存储Openstore,可以提供高并发的写入能力,实现低成本、近实时地存储与搜索海量数据。
Kibana APM UI 云上免费托管提供的Kibana节点,能够为您提供丰富的应用性能数据分析和可视化能力。

产品特性

特性 说明
快速部署 基于ACK一键部署APM Server实例,创建或者变更实例配置均可快速生效,最快仅需3分钟即可创建APM Server实例。
灵活扩缩管理 灵活支持APM Server实例规格配置变更及节点个数扩缩,应对丰富的数据处理要求。
低成本高性能 结合阿里云Elasticsearch日志增强版服务,可以支持海量应用性能数据的高并发写入,以及低成本的海量存储能力,实现应用性能数据的可视化监控。

能力对比

阿里云托管的Elastic APM和目前比较流行的开源APM系统Apache SkyWalking的能力对比情况如下。

对比项 Elastic APM SkyWalking
支持的语言
  • Java
  • .NET
  • NodeJS
  • Python
  • Ruby
  • Javascript
  • Go
  • Java
  • .NET Core
  • NodeJS
  • PHP
  • Go
是否支持tracing
支持的存储 Elasticsearch ElasticSearch、H2和MySQL
UI丰富度 高。相比SkyWalking,Elastic APM能够在UI中进行复杂的查询和过滤。 高。相比Elastic APM,SkyWalking能够提供服务间的拓扑图。
Agent易用性(代码侵入性)
  • Java、.NET Core和NodeJS部分开源库无需侵入代码自动装配(instrument)。
  • Python、Ruby、Javascript和Go部分开源库提供SDK手动装配。
  • 对于不支持的库或框架,也能通过Public API采集Agent数据。
  • Java、.NET Core和NodeJS部分开源库无需侵入代码自动装配,不支持的无法使用。
  • Go和PHP提供SDK手动装配。
查询能力 能在Kibana APM UI中,查询或过滤任意APM信息。 仅支持查询TraceId和Endpoint name。
告警 支持 支持
JVM监控 支持 支持
Go Runtime监控 支持 不支持
收集错误和异常 支持 不支持
全面可观测性 支持。Elastic Stack已经提供了日志及指标监控的完备解决方案,再结合APM,您可以搭建全面的可观测性系统。 不支持

此外,在成本和性能方面,通过APM Server对接阿里云Elasticsearch日志增强版服务,您可以使用按流量计费的高性能写入Indexing Service服务,以及海量存储OpenStore,大幅降低APM场景检索及存储的成本。