SpringBoot集成Skywalking实现分布式链路追踪


Agent:以探针的方式进行请求链路的数据采集,并向管理服务上报;

OAP-Service:接收数据,完成数据的存储和展示;

Storage:数据的存储层,支持ElasticSearch、Mysql、H2多种方式;

skywalking在之前的旧版本中,apm与agent是在一个包中的,在9.0以后的版本中是需要分开下载的;agent包下载解压之后,也将其放到apm包下面维护

  • apache-skywalking-apm-9.2.0.tar.gz

  • apache-skywalking-java-agent-8.12.0.tgz

将agent包下载解压之后,也将其放到apm包下面:

端口号修改:默认8080,这里修改为8081

启动:Windows 直接点击bin/startup.bat

会启动两个服务:

在服务启动类中添加agent配置,如果在生产环境中,通常会统一在脚本中设置,由于在本地环境演示,基于IDEA工具进行管理:

-javaagent:G:\skywalking\apache-skywalking-apm-bin\skywalking-agent\skywalking-agent.jar

-Dskywalking.agent.service_name=skywalking-demo

-Dskywalking.collector.backend_service=127.0.0.1:11800

保存后启动项目并访问任意接口:


SkyWalking数据持久化

SkyWalking 默认是将数据存入在内存中,如果重启SkyWalking 数据则都会丢失。

我们可以选择将数据持久化存放在mysql、es中等。

1.数据可以持久化在mysql、es中等。

修改config 下的application.yml

selector: ${SW_STORAGE:mysql}

mysql:

properties:

jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/skywalking?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false"}

dataSource.user: ${SW_DATA_SOURCE_USER:root}

dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456}

dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}

dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}

dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}

dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}

metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}

修改完毕创建skywalking数据库

2.需要在oap-libs/ 放入 mysql-connector-java-8.0.16.jar

3.重启SkyWalking

查看数据库会自动创建表

相关推荐
阿卡好可爱5 小时前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
方方洛2 天前
ray教程-28-附录G-CICD与Slurm与云上调度
人工智能·分布式·机器学习
空奈qwq2 天前
【Kafka 从入门到实战】从手写一个队列到生产级消息中间件:架构、分区、消费组、零拷贝全解析
分布式·架构·kafka
山甫aa3 天前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
严肃小白兔4 天前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
方方洛4 天前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
方方洛5 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
迅翼SwiftWing6 天前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly76896 天前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界