三款典型的APM产品选型分析

本人对现阶段应用监控产品做了调研, 主要围绕Pinpoint,Aliapm,Cat这些产品,虽然都是监控产品但是挑选的是有典型性、侧重点不同的应用监控系统,一共分三款产品进行介绍


1) Pinpoint产品调研(韩国人开发)

2) Aliapm产品调研(阿里巴巴)

3) Cat产品的调研(大众点评)



一、Pinpoint产品 

   Pinpoint是韩国人开发的一款APM产品,能满足用户应用层的大部分监控功能,并且性能损耗在3%左右,这个我并没有具体测试,默认探针小于10%以下性能消耗是可以接受的,地址:https://github.com/naver/pinpoint


1) 优缺点如下:

     ①支持大部分框架、服务,包括分布式服务、数据库服务、缓存服务,可满足大部分应用需求

     ②满足应用之间的Trace跟踪功能功能

     ③客户端与Collector采用Thrift协议+TCP/UDP支持

     ④低功耗运行3%的资源消耗

     ⑤完善的应用拓扑

     ⑥支持两种字节码修改框架,侵入性并不高,只做应用间Trace埋点,采集

     ⑦不支持TOP监控(实际上这个都需要自己开发,大数据实时分析)

    ⑧提供告警功能


三款典型的APM产品选型分析_第1张图片


2) 功能:

            ① 框架和服务部分:

JDK6+

Tomcat6/7/8, Jetty 8/9, JBoss EAP 6

Spring,Spring Boot

ApacheHTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient,NingAsyncHttpClient

ThriftClient, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER

MySQL,Oracle, MSSQL, CUBRID, DBCP, POSTGRESQL, MARIA

Arcus,Memcached, Redis, CASSANDRA

iBATIS,MyBatis

gson,Jackson, Json Lib

log4j, Logback


             框架和服务部分:

支持应用拓扑,支持分布式跟踪,支持调用链查询,JVM监控,告警等等


 缺少的部分:

Weblogic支持(开源社区有在开发,但是并未提供)

并没有TOP监控


3) 功能浏览:

三款典型的APM产品选型分析_第2张图片



三款典型的APM产品选型分析_第3张图片


三款典型的APM产品选型分析_第4张图片

二、Cat产品 

CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标、健康状况、监控告警等。


1) 优缺点如下:

        ①实时高效

        ②调研链跟踪

        系统开销小

        全量监控

        数据查询

        可扩展

        并不能直接识别应用系统框架服务,这款产品具有很强的侵入性,需要用户调用Cat API自定义监控打点以及监控纬度数据,侧重于业务监控


2)
功能:

        HTTP/REST、RPC/SOA、MQ、Job、Cache、DAL;

        搜索/查询引擎、业务应用、外包系统、遗留系统;Spring, Spring Boot

        第三方网关/银行, 合作伙伴/供应商之间;

        各类业务指标,如用户登录、订单数、支付状态、销售额。


三款典型的APM产品选型分析_第5张图片


三款典型的APM产品选型分析_第6张图片


从上面的实现来看,基本可以确定这个产品代码侵入性较高,但是业务结合还是比较紧密的,能更细粒的根据不同纬度监控业务数据


3) 功能浏览:


三款典型的APM产品选型分析_第7张图片


三款典型的APM产品选型分析_第8张图片


三款典型的APM产品选型分析_第9张图片



三、Aliapm产品 

   AliAPM是一个能够对应用和服务进行深度监控的应用性能管理平台,能够帮助开发者进行快速故障诊断、性能瓶颈定位、架构梳理、容量评估等工作,当然和上面2款产品侧重点有所不同,性能消耗也在8%~10%

,在可以承受范围之内,地址:https://apm.aliyun.com


1) 优缺点如下:

    主要特性包括

    应用关键路径的实时性能监控

    数据库操作性能监控

    NoSQL操作性能监控

    API接口调用性能监控

    性能问题追踪, 服务端环境监控

    自定义告警

    当前并不提供Trace功能(考虑和鹰眼重合并没有作为重点开发),但相对于pinpint提供强大的的top监控


 

三款典型的APM产品选型分析_第10张图片


 2)功能:


三款典型的APM产品选型分析_第11张图片

三款典型的APM产品选型分析_第12张图片

 

3) 功能浏览:


三款典型的APM产品选型分析_第13张图片



三款典型的APM产品选型分析_第14张图片


三款典型的APM产品选型分析_第15张图片


三款典型的APM产品选型分析_第16张图片



三款典型的APM产品选型分析_第17张图片


总结:


功能

Pinpoint

Cat

Aliapm

应用服务拓扑监控

支持

支持

支持

调用链路功能

支持

支持

支持

是否需要Java Agent接入



是否需要SDK接入

自定义API监控

是否支持JDK6/JDK7/JDK8



性能损耗



当然还有其他类型的监控比如比较有名的oneapm,newrelic都是比较好的产品,因为这两款都是综合性比较强的产品,这里我就不具体说了。


你可能感兴趣的:(分布式性能监控系统)