阿里云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場景檢索及存儲的成本。