您的位置:网站首页 > Java工具 > 正文

【测试工具】常见开源APM工具介绍

类别:Java工具 日期:2018-12-16 13:11:20 人气: 来源:

  梦见亲人生病

  随着分布式应用、云计算的不断深入发展,业务系统的逻辑结构变得越来越复杂,目前很多应用都采用了分布式架构,即从一个大程序演变成一系列服务的形式,运行在不同的平台不同的机器上,这种架构的复杂性和灵活性为发现和定位性能问题、系统安全运维带来了更高的挑战。此时需要一种新的技术手段,用来关注应用哪些问题影响了企业服务的性能和可用性,关注如何识别这些问题以及如何解决这些问题。本文将介绍目前业界主流的APM技术工具,解决分布式架构带来的和运维上的挑战。

  APM(ApplicationPerformance Management)是一种应用性能工具,通过汇聚业务系统各处理环节的实时数据,分析业务系统各事务处理的交易径和处理时间,实现对应用的全链性能监测。目前主流的APM工具,基本都是参考了Google的Dapper(大规模分布式系统的系统)体系,通过业务请求的处理过程,完成对应用系统在前后端处理、服务端调用的性能消耗,提供可视化的界面来展示对数据的分析。

  APM工具与传统的性能工具的区别在于,不仅仅提供一些零散的资源点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。

  近年来APM技术和市场得到了快速发展,随着移动互联网的爆发,APM的产业扩张的比较明显,重心也从最初的IT和技术运维转到了商业核心业务,相关产品也如雨后春笋般大量涌现出来,商业产品有国外的Dynatrace、Appdynamics、New Relic,国内的RichAPM、听云、OneAPM等,开源产品也得到了迅速发展。随后小编带大家一起了解几种业界主流的开源APM工具。

  Pinpoint是由一个韩国团队实现并开源,针对Java编写的大规模分布式系统设计,通过JavaAgent的机制做字节代码植入,实现加入traceid和获取性能数据的目的,对应用代码零侵入。

  Pinpoint通过在Host App启动时加入PinpointAgent来采集数据,然后把采集到的数据和性能数据实时发送到Pinpoint Collector,Collector收集之后存放到HBase数据库中,由HBase做MapReduce运算,分析出分布式系统的机器访问关系拓扑图、每个节点的线程状态、请求/响应数据、调用栈信息、应用程序的性能数据,通过Pinpoint WebUI可以进行实时的展示。

  Skywalking是由国内一位叫吴晟的工程师开源,已加入Apache孵化器,是一个APM系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链以及指标,Skywalking APM会应用间关系和服务间关系,并进行相应的指标统计。Skywalking支持链追踪和应用组件基本涵盖主流框架和容器,如国产PRC Dubbo和motan等,国际化的spring boot,spring cloud。

  Zipkin是由Twitter开源,是分布式链调用系统,聚合各业务系统调用延迟数据,达到链调用。Zipkin基于Google的Dapper论文实现,主要完成数据的收集、存储、搜索与界面展示。Java应用端的数据采集通过Brave组件来实现,Brave组件通过实现一系列的Java,来做到对http/servlet请求、数据库访问的调用过程,然后在spring之类的配置文件里加入这些,完成对Java应用的性能数据采集。

  CAT是由大众点评开源的项目,基于Java开发的实时应用平台,包括实时应用,业务,可以提供十几张报表展示。Cat的定位是实时平台,但与其说是平台,更像是个数据仓库,在数据仓库的基础上提供丰富的报表分析功能。CAT实现的手段是通过在代码里面增加一些“埋点”来记录自己需要的数据,是一个侵入式的项目,开发团队对此大都有抵触情绪。

  CAT分客户端和服务器端,客户端使用cat接口向服务器端统一格式的日志信息。CAT的客户端是产生日志的地方(一般来说就是被的应用,上图中的应用节点),相应的服务器端则是接受日志、消费日志的地方(上图中的server节点),日志消费后生成会日志报表。

  本文中小编主要介绍了4种主流的开源APM工具,最后我们从代码侵入方式、数据落地方式、性能分析报表等三个方面对上述工具进行对比分析:

  通过对比可知,主流APM工具为了更好地进行推广,主要采用了侵入程度低的方式完成对应用代码的。并且为了应对云计算、微服务、容器化的迅速发展与应用带来的APM的数据的海量增长的趋势,数据落地方式也主要以海量存储数据库为主。未来在数据分析和性能分析方面,大数据和机器学习将在APM领域发挥重要的作用,APM的功能也将从单一的资源和应用,向异常检测、性能诊断、未来预测等自动化、智能化等方向发展,让我们共同期待开源社区或组织带来功能更强大的免费产品!

  本文由来源于财鼎国际(http://cdgw.hengpunai.cn:27531/)

关键词:开源报表工具
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved