0
点赞
收藏
分享

微信扫一扫

【第33章】Spring Cloud之SkyWalking服务链路追踪

文章目录


前言

SkyWalking是一个开源的观测平台,专为微服务、云原生架构和基于容器(如Docker、Kubernetes等)的应用程序设计,提供分布式追踪、服务网格遥测分析、度量聚合和可视化的一体化解决方案。

由国内开源爱好者吴晟开源并提交到Apache孵化器的项目,2019年4月从Apache基金会的孵化器毕业成为顶级项目。

SkyWalking目前已经来到10的大版本,但是由于升级太快导致没有对应的中文文档,所以我们只做初步的使用,让SkyWalking为我们的项目展示图形化的服务链路拓扑图。


一、介绍

1. 架构图

在这里插入图片描述

在这里插入图片描述

  • UI :前端,控制台界面,仪表盘展示数据
  • Backend:后端,接收及转存信息
  • Storage:存储端,存储数据
  • Agent:客户端,收集应用程序指标信息,并推送到客户端

2. SkyWalking APM

在这里插入图片描述

二、服务端和控制台

1. 下载

这里我们通过官方网站
在这里插入图片描述

2. 解压

Requirement: Java 11/17/21.大家注意,这里最低要求Java 11

tar -zxvf apache-skywalking-apm-10.0.0.tar.gz
mv apache-skywalking-apm-bin skywalking

3. 初始化数据库

create database skywalking;
CREATE USER 'skywalking'@'%' IDENTIFIED BY 'skywalking';
GRANT ALL PRIVILEGES ON skywalking.* TO 'skywalking'@'%';
FLUSH PRIVILEGES;
use skywalking;

4. 增加驱动

5. 修改后端配置

默认的数据库是h2,这里我们通过定义环境变量修改配置为mysql配置

vi ~/.bash_profile
# skywalking
export SW_STORAGE=mysql
export SW_JDBC_URL="jdbc:mysql://localhost:3306/skywalking?rewriteBatchedStatements=true&allowMultiQueries=true"
export SW_DATA_SOURCE_USER=skywalking
export SW_DATA_SOURCE_PASSWORD=skywalking
source ~/.bash_profile

6. 启动

sh startup.sh

startup.sh包含了oapService.sh和webappService.sh

  • serverPort: ${SW_SERVER_PORT:-8080}
  • oapServices: ${SW_OAP_ADDRESS:-http://localhost:12800}

后端服务 0.0.0.0/11800 监听 gRPC APIs , 0.0.0.0/12800 监听 HTTP REST APIs.

7. 访问控制台

127.0.0.1:8080
在这里插入图片描述

8. 数据库表

在这里插入图片描述

三、客户端

1. 下载

在这里插入图片描述
在这里插入图片描述

2. 设置java代理

  1. Agent 在 JDK 8 - 21可用.
  2. 下载agent并解压到本地.
  3. 找到config/agent.config配置文件,设置 agent.service_name . 可以是任意英文字符串.
  4. 找到config/agent.config配置文件,设置 collector.backend_service. 默认值为127.0.0.1:11800,仅适用于本地后端。
  5. 添加 -javaagent:/path/to/skywalking-package/agent/skywalking-agent.jar JVM参数.请确保在-jar参数之前添加它。

3. idea配置

3.1 环境变量

SW_AGENT_NAME=gateway-service;SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.137.192:11800

在这里插入图片描述

3.2 JVM参数

-javaagent:F:\workspace\skywalking-agent\skywalking-agent.jar

在这里插入图片描述

3.3 启动日志

在这里插入图片描述

4. 启用网关插件

四、链路跟踪

1. 服务列表

在这里插入图片描述

2. 服务仪表盘

在这里插入图片描述

3. 链路追踪(网关)

在这里插入图片描述

在这里插入图片描述
网关层串联不到下一个链路,我们直接用消费者试试

4. 链路追踪(消费者)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同一个请求链路经过的上下游应用都需要以agent形式启动,才能形成完整的链路关系。


总结

回到顶部
官方网站
官方文档
视频学习
稀土掘金
演示地址(skywalking/skywalking)

SkyWalking功能很强大,感兴趣的同学可以进一步发掘,社区最新推出了BanyanDB,相信这款数据库工具和SkyWalking结合起来能够事半功倍,给我们带来更多的震撼和期待。

举报

相关推荐

0 条评论