1.skywalking介绍
SkyWalking 是观察性分析平台和应用性能管理系统。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.
2.skywalking 原理图
3.skywalking 原理图
上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。 左部分 SkyWalking UI :负责提供控台,查看链路等等。
4 .skywalking demo 架构图
5. skywalking部署
第一步,搭建一个 Elasticsearch 服务。
第二步,下载 SkyWalking 软件包。
第三步,搭建一个 SkyWalking OAP 服务。
第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。
第五步,搭建一个 SkyWalking UI 服务。
PS:注意ES版本和Skywalking版本兼容 这是我踩的坑 前期搭demo oap 服务起不来
所以我采用的是Elasticsearch 版本-6.X skywalking 版本6.6.0 兼容 7.X和6.X 亲测有效
skywalking 版本6.6.0 ES 6.7 可以从官方下载这两个版本
6.部署ES
6.1.下载ES安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
6.2.vi config/elasticsearch.yml 编辑配置 (其他配置可以不用变化)
cluster.name: elasticsearch //
network.host: 0.0.0.0
http.port: 9200
6.3 # 解压 $ tar -zxvf elasticsearch-6.7.2.tar.gz $ cd elasticsearch-6.7.2 # 启动。
通过 -d 参数,表示后台运行。 $ bin/elasticsearch -d
6.4 默认访问端口是9200 出现下图 界面则表示启动成功
7 skywalking 安装配置
1.下载skywalking $ wget http://mirror.bit.edu.cn/apache/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz
2. 解压 $ tar -zxvf apache-skywalking-apm-es7-6.6.0.tar.gz $ cd apache-skywalking-apm-bin-es7
3.vi config/application.yml 配置ES集群节点
PS 如果ES 版本是7.X 配置则是elasticsearch7
4. 启动服务oap webapp
http://127.0.0.1:8080/ 进入UI页面
8. skywalking 嵌入agent
-javaagent:/Users/qiangqiang/maven/workex/skywaking-demo/skywalking-agent/agent/skywalking-agent.jar
//探针 加载jar
-Dskywalking.agent.service_name=provider-service
//服务名
-Dskywalking.collector.backend_service=127.0.0.1:11800
//collector 默认是 grpc 通信 默认端口是12800
9. zipkin,SkyWalking 对比
|
类别 |
Zipkin |
SkyWalking |
|
部署 |
简单 |
麻烦一些 |
|
实现方式 |
拦截请求,发送(HTTP,mq)数据至zipkin服务 |
java探针,字节码增强 |
|
代码侵入性 |
有 |
无 |
|
接入方式 |
基于linkerd或者sleuth方式,引入配置即可 |
javaagent字节码 |
|
OpenTracing |
是 |
是 |
|
agent到collector的协议 |
http,MQ |
http,gRPC |
|
颗粒度 |
接口级 |
方法级 |
|
UI健壮度 |
** |
**** |
|
数据存储 |
ES,mysql,Cassandra,内存 |
ES,H2 mysql |
参考:http://skywalking.apache.org/ skywalking官网 demo
Ps : springcloud + skywalking demo
代码地址 https://download.csdn.net/download/qq_34661615/12753839