前言
SkyWalking是做分布式链路跟踪是分布式系统应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker、K8S)架构设计;这玩意和Zipkin差不多,之前也写过关于Zipkin相关文章,请见SpringCloud整合Zipkin链路追踪,目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking,这里主要介绍讲解SkrWalking相关技术点,SkyWalking提供分布式跟踪、服务网格化遥测分析,性能指标分析、应用和服务依赖分析等。度量聚合和可视化一体化解决方案;这玩意是我们国人写的,还是很牛逼的,很多公司都有用过这个SkyWalking;
SkyWalking 6.x 的架构图
整个架构可分为4部分,如下
- 上部分 Agent :负责从应用中,收集链路信息,发给SkyWalking OAP服务器;
- 下部分 SkyWalking OAP:负责接收Agent发送的Tracing数据信息,然后进行分析,(Analysis Core),存储到外部存储器(Storage) ,最终提供查询(Query)功能;
- 右部分 Storage:Tracing数据存储。目前支持ES、MySQL、ShardingSphere、TiDB、H2多种存储器,而我们目前采用ES,主要考虑的是SkyWalking开发团队自己的生产环境采用ES为主;
- 左部分 SkyWalking UI:负责提供控制台,查看链路等;
简化后的架构如下
SkyWalking官网
SkyWalking下载
我这里当前使用的是v8.2.0 for H2/MySQL/TiDB/InfluxDB/ElasticSearch 7这个版本,简单介绍一下版本的含义,这个版本是8.2.0,支持H2/MySQL/TiDB/InfluxDB/ElasticSearch 7,注意每个版本支持的ElasticSearch版本是不一样的当前这个版本就只支持ElasticSearch 7的版本,后期做ElasticSearch持久化的时候就只能用ElasticSearch 7.x的版本了,历史版本往下滑动