美文网首页
分布式服务监控zipkin、Pinpoint、SkyWalkin

分布式服务监控zipkin、Pinpoint、SkyWalkin

作者: 天生小包 | 来源:发表于2020-02-13 17:24 被阅读0次

    1、介绍

    a、Zipkin是Twitter开源的调用链分析工具,目前基于Spring Cloud Sleuth得到了广泛的使用,特点是轻量,使用部署简单。

    GitHub: https://github.com/openzipkin/zipkin

    image.png
    b、Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。

    GitHub: https://github.com/naver/pinpoint

    image.png
    c、SkyWalking是国内开源的基于字节码注入的调用链分析以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前使用厂商最多,版本更新较快,已成为 Apache 基金会顶级项目。

    GitHub: https://github.com/apache/skywalking

    image.png

    2、基本信息

    类别 Zipkin Pinpoint SkyWalking
    定位 分布式追踪系统 分布式追踪系统
    应用性能监控系统(APM)
    分布式追踪系统
    应用性能监控系统(APM)
    研发团队 Twitter Naver团队 发起人吴晟,已加入Apache

    3、接入方式

    类别 Zipkin Pinpoint SkyWalking
    接入方式 基于Linkerd或者Sleuth方式,引入配置即可 javaagent字节码 javaagent字节码
    Agent到Collector的协议 Http、MQ Thrift gRPC
    OpenTracing ×
    k8s ×
    支持语言 Java、Scala、Node、
    Go、Python、Ruby 、 C#
    Java、PHP Java、C# 、PHP、Node.js
    采集数据 系统层:无
    应用层:接口执行次数耗时等
    业务层:无
    系统层:CPU、MEM、Disk
    应用层:JVM、链路、方法执行次数耗时等
    业务层:无
    系统层:CPU、MEM、Disk
    应用层:JVM、链路、方法执行次数耗时等
    业务层:无
    性能损耗

    4、使用情况分析

    类别 Zipkin Pinpoint SkyWalking
    颗粒度 接口级 方法级 方法级
    全局调用统计 ×
    traceid查询 ×
    报警 ×
    JVM监控 × ×

    5、监控界面分析

    类别 Zipkin Pinpoint SkyWalking
    友好与详细程度 功能简单,但是清晰,
    可完成基本链路监视功能
    功能丰富,应用清晰
    链路监控能力丰富
    功能比较丰富,应用清晰
    完整的链路监控能力

    6、存储支持

    类别 Zipkin Pinpoint SkyWalking
    存储 ES、MySQL、Cassandra Hbase ES、H2、MySQL、TiDB

    7、社区活跃度

    类别 Zipkinn Pinpoint SkyWalking
    STAR 12.2k 9.9 12.4

    SkyWalking :已是Apache 基金会顶级项目,社区相当活跃。项目发起人是中国人,我们能够进入官方群(Apache SkyWalking交流群:392443393)和项目发起人吴晟零距离沟通,很多问题能第一时间得到大家的帮助。
    Pinpoint:是韩国人开发的,免不了有沟通障碍。

    8、PinPoint和skyWalking支持的插件对比

    类别 Pinpoint SkyWalking
    web容器 Tomcat6/7/8,Resin,Jetty,JBoss,Websphere Tomcat7/8/9,Resin,Jetty
    JDBC Oracle、MySQL Oracle、MySQL 、Sharding-JDBC
    消息中间件 ActiveMQ、RabbitMQ RocketMQ 4.x、Kafka
    日志 log4j、Logback log4j、log4j2、Logback
    HTTP库 Apache HTTP Client、GoogleHttpClient、OkHttpClient Apache HTTP Client、OkHttpClient、Feign
    Spring体系 Spring、Spring Boot Spring、Spring Boot、Eureka、Hystrix
    RPC框架 Dubbo、Thrift Dubbo、Motan、gRPC、ServiceComb
    NOSQL Memcached、Redis、CASSANDRA Memcached、Redis

    9、性能分析

    注:该章节抄录自网上测试分析信息。

    场景:模拟了三种并发用户,500,750,1000。使用JMeter测试,每个线程发送30个请求,设置等待时间为10 ms。使用的采样率为1,即100%,这边与生产可能有差别。Pinpoint默认的采样率为20,即50%,通过设置Agent的配置文件改为100%。Zipkin默认也是1。


    image.png
    结论:
    1、SkyWalking: 探针对吞吐量的影响最小,默认策略比较保守,对性能损耗很小。
    2、Zipkin: 探针对吞吐量居中。
    3、Pinpoint: 探针对吞吐量的影响较为明显,在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大,由于采集信息太过详细,所以对性能的损耗最大。

    相关文章

      网友评论

          本文标题:分布式服务监控zipkin、Pinpoint、SkyWalkin

          本文链接:https://www.haomeiwen.com/subject/ghjhfhtx.html