1.skywalking介绍

SkyWalking 是观察性分析平台和应用性能管理系统。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.

2.skywalking 原理图

分布式链路组件选型~skywalking+demo(亲测有效)

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 架构图

分布式链路组件选型~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 出现下图 界面则表示启动成功

分布式链路组件选型~skywalking+demo(亲测有效)

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集群节点

分布式链路组件选型~skywalking+demo(亲测有效)

PS 如果ES 版本是7.X  配置则是elasticsearch7

4. 启动服务oap webapp

分布式链路组件选型~skywalking+demo(亲测有效)

 http://127.0.0.1:8080/   进入UI页面

分布式链路组件选型~skywalking+demo(亲测有效)

 8. skywalking 嵌入agent

分布式链路组件选型~skywalking+demo(亲测有效)

 

分布式链路组件选型~skywalking+demo(亲测有效)

-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

分布式链路组件选型~skywalking+demo(亲测有效)

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

相关文章:

  • 2021-07-29
  • 2021-11-05
  • 2021-09-17
  • 2021-12-26
  • 2021-11-25
  • 2021-08-18
  • 2021-10-09
  • 2021-09-19
猜你喜欢
  • 2021-09-01
  • 2021-12-08
  • 2021-06-17
  • 2021-07-24
  • 2022-12-23
  • 2022-12-23
  • 2021-09-22
相关资源
相似解决方案