阿里云产品专家解读链路追踪(Tracing Analysis)和应用性能监控(APM)的联系和区别

简介: 概要 阿里云上最近推出了一款新产品 链路追踪 ,专注于帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。 分布式应用环境下的链路追踪,并不是一个新话题。在早些时间,阿里云产品 业务实时监控服务 也有类似功能推出。

阿里云上最近推出了一款新产品链路追踪 ,专注于帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率,并省去用户搭建各类链路监控应用(Jaeger, Zipkin等)和相关存储服务(Hbase, ElasticSearch等)的成本。

_2018_10_26_10_33_26

分布式应用环境下的链路追踪,并不是一个新话题。在早些时间,阿里云产品 业务实时监控服务也有类似功能推出。那么,链路追踪和业务实时监控服务 在产品功能层面到底有什么样的区别和联系?本文将给出概要说明。

以下从产品定位,接入方式,以及使用成本 三个方面来比较 业务实时监控服务链路追踪 两款产品。

产品定位:应用性能管理 (APM) vs 分布式链路追踪 (Distributed Tracing)

从功能定位上看,业务实时监控服务 定位于重量级的应用性能管理类(Application Performance Management, 简称APM)工具,包含的功能相对丰富。应用程序通过挂载Agent方式接入监控,Agent内部功能相对丰富,包括性能监控,用户体验监控,链路追踪,故障诊断,等多种功能。

而链路追踪定位于分布式链路追踪解决方案工具,功能比较专一,专业面向解决分布式环境下的链路追踪这一个问题。用户通过接入链路追踪SDK来实现分布式链路追踪,SDK本身只负责链路监控,功能相对专注。


image.png | left | 531x250

接入方式:无侵入式接入 vs 基于标准的侵入式接入

定位于APM的业务实时监控服务的监控接入方式使用的是业界商业化APM工具中比较流行的无侵入式接入方案。用户无需改动代码,即可接入。不过一般需要在应用程序中加载Agent,需要修改程序启动方式。例如以业务实时监控服务为例,在启动Java程序时需要增加-javaagent启动参数。

定位于分布式链路追踪的链路追踪产品是基于开源产品 Jaeger, Zipkin 等开源产品和开源标准 Opentracing 的监控产品。用户可以基于以上任意一种标准SDK接入到链路追踪中。这样的好处是:

  • 已在用Jaeger, Zipkin或其他Opentracing标准SDK的应用可无缝迁移到链路追踪产品中,而不用修改代码;
  • 由于产品SDK是基于开源标准的,因此用户不用担心lock-in问题;
  • 借助社区力量,用户可以一次性大量支持多种开发语言,使得面向异构环境的开发者在监控方面接入门槛大幅度降低。


image.png | left | 500x230

使用成本:按量付费 vs 产品免费

和其他APM工具类产品类似,无论是应用监控还是前端监控等功能,业务实时监控服务采用的是按量付费的收费模式,总体来讲还是占用户总体预算的相当一部分。不过从总体来看,业务实时监控服务 收费大大低于业界平均水平,仅占业界水平10-20%左右,这也得益于其优秀的高性能和高效率架构。

链路追踪专注于解决分布式环境下的链路诊断问题,其功能相对专注,产品精简,本身不收费。用户的链路信息存储于阿里云的日志服务产品中,用户仅对日志服务存储收费,链路追踪产品本身不收费。


image.png | left | 494x256

总结

以下表格总结两个产品的区别和联系。

业务实时监控服务 链路追踪
产品定位 APM工具类产品,产品本身含应用性能监控,用户体验监控,链路追踪,问题诊断等多项功能。 专注分布式链路功能追踪功能。
应用程序语言支持 Java, PHP (coming soon) Java, PHP, Go, C#, Python, Node.JS, etc.
接入方式 无侵入式Agent加载方式接入 侵入式SDK编程方式接入
产品费用 按量付费,极具竞争力的产品价格 产品本身免费,用户仅对日志服务使用部分收费

未来展望

虽然两个产品定位不同,但是同样定位于阿里云上的开发者工具监控类产品,两款产品未来会做互相地打通。

  • 业务实时监控服务 将支持 链路追踪 的SDK方式进行分布式链路追踪的定制化。
  • 链路追踪 的应用链路 同样能在 业务实时监控服务 的界面中进行查询,优化用户诊断体验。

-> 欢迎关注“阿里巴巴中间件”,加入中间件开发者群,与技术同行。

101020104542_0949_2_Jpeg

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
6月前
|
监控 Kubernetes Go
全链路追踪 & 性能监控,GO 应用可观测全面升级
当前,大多数面向 Golang 应用的监控能力主要是通过 SDK 方式接入,需要开放人员手动进行埋点,会存在一定问题。对此,可观测 Go Agent 应运而生。本文介绍的阿里云可观测 Go Agent 方案,能通过无侵入的方式实现应用监控能力。
108915 34
|
2月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
67 3
|
5月前
|
Prometheus 监控 Cloud Native
性能监控之 Golang 应用接入 Prometheus 监控
【8月更文挑战第4天】性能监控之 Golang 应用接入 Prometheus 监控
268 0
性能监控之 Golang 应用接入 Prometheus 监控
|
5月前
|
监控 Java 开发者
揭秘Struts 2性能监控:选对工具与方法,让你的应用跑得更快,赢在起跑线上!
【8月更文挑战第31天】在企业级应用开发中,性能监控对系统的稳定运行至关重要。针对流行的Java EE框架Struts 2,本文探讨了性能监控的工具与方法,包括商用的JProfiler、免费的VisualVM以及Struts 2自带的性能监控插件。通过示例代码展示了如何在实际项目中实施这些监控手段,帮助开发者发现和解决性能瓶颈,确保应用在高并发、高负载环境下稳定运行。选择合适的监控工具需综合考虑项目需求、成本、易用性和可扩展性等因素。
55 0
|
6月前
|
缓存 监控 Java
Spring Boot应用的性能监控与优化
Spring Boot应用的性能监控与优化
|
7月前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
698 1
|
6月前
|
运维 监控 Java
Spring Boot应用的性能监控与优化指南
Spring Boot应用的性能监控与优化指南
|
8月前
|
存储 监控 前端开发
【专栏】阿里云ARMS前端监控的引入方法,以提升应用质量和稳定性
【4月更文挑战第29天】本文介绍了阿里云ARMS前端监控的引入方法,以提升应用质量和稳定性。该工具通过实时收集和分析用户行为、性能数据,提供错误监测和实时告警。步骤包括注册阿里云账号,创建前端监控项目,获取并嵌入监控代码到页面中,部署并运行,最后查看监控数据。案例和经验分享强调了合理设置监控指标、与其他工具结合以及定期分析数据的重要性。注意保护用户隐私,正确管理监控代码,并解决可能出现的数据不准确和大量错误告警问题。
236 1
|
8月前
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。
|
8月前
|
存储 Prometheus 运维
【阿里云云原生专栏】云原生下的可观测性:阿里云 ARMS 与 Prometheus 集成实践
【5月更文挑战第25天】阿里云ARMS与Prometheus集成,为云原生环境的可观测性提供强大解决方案。通过集成,二者能提供全面精准的应用监控,统一管理及高效告警,助力运维人员及时应对异常。集成示例代码展示配置方式,但需注意数据准确性、监控规划等问题。这种集成将在云原生时代发挥关键作用,不断进化以优化用户体验,推动业务稳定发展。
261 0

热门文章

最新文章