您当前位置:资讯中心 >服务器 >浏览文章

一文带你了解SkyWalking

来源:互联网 日期:2023/11/6 8:16:19 阅读量:(0)

Apache SkyWalking

SkyWalking是一个开源可观测平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法来保持分布式系统的清晰视图,甚至跨云。它是一种现代APM,专为云原生、基于容器的分布式系统而设计。

文档版本8.9.1,当前最新版本9.10

图片图片

介绍

SkyWalking 是一个应用性能监控系统(APM)

为微服务、云原生和基于容器(Docker, Kubernetes, Mesos)体系结构而设计,主要实现功能包括分布式追踪,性能指标分析和服务依赖分析等

相似产品与对比

类似功能的组件还有:Zipkin、Pinpoint 、CAT、Dapper等

  • Zipkin是Twitter开源的调用链路分析工具,目前基于Spingcloud sleuth得到了广泛的应用,特点是轻量,部署简单。
  • 一个韩国团队开源的产品,运用了字节码增强技术,只需要在启动时添加启动参数即可,对代码无侵入,目前支持Java和PHP语言,底层采用HBase来存储数据,探针收集的数据- 粒度非常细,但性能损耗大,因其出现的时间较长,完成度也很高,应用的公司较多
  • Skywalking是本土开源的基于字节码注入的调用链路分析以及应用监控分析工具,特点是支持多种插件,UI功能较强,接入端无代码侵入。
  • CAT是由国内美团点评开源的,基于Java语言开发,目前提供Java、C/C++、Node.js、Python、Go等语言的客户端,监控数据会全量统计,国内很多公司在用,例如美团点评、携程、拼多多等,CAT跟下边要介绍的Zipkin都需要在应用程序中埋点,对代码侵入性强。


Cat

Zipkin

Pinpoint

skywalking

依赖

Java 6,7,8

Maven 3.2.3+

mysql5.6

Linux 2.6以及之上(2.6内核才可以支持epoll)

Java 6,7,8

Maven3.2+

rabbitMQ

Java 6,7,8

maven3+

Hbase0.94+

Java 6,7,8

maven3.0+

nodejs

zookeeper

elasticsearch

实现方式

代码埋点(拦截器,注解,过滤器等)

拦截请求,发送(http,mq)数据至zipkin服务

java探针,字节码增强

java探针,字节码增强

颗粒度

代码级

接口级

方法级

方法级

页面UI

*****

**

*****

****

存储选择

Mysql,hdfs

In-memory,mysql,cassandra,elasticsearch

Hbase

Elasticsearch,h2

通信方式

-

http,mq

Thrift

GRPC

MQ监控

不支持

不支持

不支持

RocketMq,kafka

全局调用 统计

支持

不支持

支持

支持

Trace查询

不持支

支持

不支持

支持

报警

支持

不支持

支持

支持

Jvm监控

不支持

不支持

支持

支持

优点

功能完善

spring-cloud-sleuth可以很好的集成zipkin , 代码无侵入,集成非常简单 , 社区更加活跃。对外提供有query接口,更加容易二次开发

完全无侵入, 仅需修改启动方式,界面完善,功能细致。

完全无侵入,界面完善,支持应用拓扑图及单个调用链查询。功能比较完善(zipkin + pinpoint)

缺点

代码侵入性较强,需要埋点文档比较混乱,文档与发布版本的符合性较低,需要依赖点评私服 (或者需要把他私服上的jar手动下载下来,然后上传到我们的私服上去)。

默认使用的是http请求向zipkin上报信息,耗性能。跟sleuth结合可以使用rabbitMQ的方式异步来做,增加了复杂度,需要引入rabbitMQ 。数据分析比较简单。

不支持查询单个调用链, 对外表现的是整个应用的调用生态。二次开发难度较高

3.2版本之前BUG较多 ,网上反映兼容性较差 . 3.2新版本的反映情况较少依赖较多。

文档

网上资料较少,仅官网提供的文档,比较乱

文档完善

文档完善

文档完善

开发者

大众点评

Twiter

Naver

吴晟(华为开发者) ,目前已经加入Apache孵化器

使用公司

大众点评,携程,陆金所,同程旅游,猎聘网,拼多多

Twiter

Naver

华为,alibaba cloud,天源迪科,当当网,京东金融

功能

开源监控平台,用于从服务和云原生基础设施收集、分析、聚合和可视化数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,甚至可以跨云查看。它是一种现代APM,专门为云原生、基于容器的分布式系统设计

监测对象包括:service(服务), service instance(实例), endpoint(端点)

功能描述:

  • 多种监控手段,可以通过语言探针和service mesh获得监控的数据
  • 支持多重语言的自动探针,包括JAVA, .NET Core和NodeJS
  • 轻量高效,无需大数据平台和大量的服务器资源
  • 模块化,UI ,存储,集群管理都有多种机制可选
  • 支持告警
  • 优秀的可视化解决方案

架构

SkyWalking 在逻辑上分为四个部分:Probes、Platform backend、Storage 和 UI。

图片图片

探针Probe

采集tracing(调用链数据)和metric(指标)信息并上报,上报通过HTTP或者gRPC方式按要求重新格式化数据发送数据到Skywalking Collector

  • 自动探针:Java支持的中间件、框架与类库列表
  • 手动探针:OpenTrackingApi、@Trace注解、trackId集成到日志中。

后端Platform backend

支持数据聚合、分析和流式处理,包括跟踪、度量和日志。
关键字:
声明:我公司网站部分信息和资讯来自于网络,若涉及版权相关问题请致电(63937922)或在线提交留言告知,我们会第一时间屏蔽删除。
有价值
0% (0)
无价值
0% (10)

分享转发:

发表评论请先登录后发表评论。愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。