java微服务项目整合skywalking链路追踪框架

skywalking官网网址:Apache SkyWalking

目录

1、安装skywalking

2、微服务接入skywalking

3、skywalking数据持久化


1、安装skywalking

下载skywalking,本篇文章使用的skywalking版本是8.5.0

Index of /dist/skywalkinghttps://archive.apache.org/dist/skywalking/

点击上方链接进入skywalking下载页面

选择对应的版本

下载对应的tar包,注意不要下载错了,-src后缀的是源代码。

下载完成后,把下载下来的压缩包解压到D盘,然后进入bin目录下,双击startup的windows运行文件。

这时候会弹出两个窗口,正常情况下,只要两个窗口不会自动关闭,就是启动成功了。

然后在浏览器地址栏输入localhost:8080访问skywalking

如果能看到这个页面, skywalking的安装就到了尾声。

2、微服务接入skywalking

接下来在微服务中接入并使用skywalking,只需要添加微服务启动时的jvm参数

需要配置的JVM参数:-javaagent:后面的路径需要修改为对应skywalking的agent目录下的skywalking-agent.jar的绝对路径。

复制代码
-javaagent:D:\program\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-DSW_AGENT_NAME=skywalking
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

这样,当我们的微服务发起请求的时候,就能在skywalking的ui界面看到相关的调用链路了。

3、skywalking数据持久化

skywalking默认通过H2数据库保存数据,数据存在内存中,每次重启skywalking都会导致数据丢失。如果有持久化保存的需求,可以修改成其他数据库存储,这篇文章就介绍怎么修改为mysql存储。

只需要修改配置文件config/application.yml,找到storage的配置,修改selector后面的数据库类型为mysql

然后鼠标往下滚动,找到mysql,修改对应的连接信息:数据名、用户名、密码,这里的数据库需要自己手动创建。

修改完成后,保存配置文件,重新启动skywalking。这时候会发现启动时有一个窗口自动关闭了,因为启动失败,找到logs目录下的日志文件,打开查看详情。

在文件末尾会看到下面的异常信息,获取不到mysql驱动,这是因为少了mysql的驱动包,在项目中找到对应jar包。

然后把这个jar包复制到/oap-libs/目录下,如图,然后重新启动skywalking

启动完成后,skywalking数据库下会创建很多表

好了,这篇文章就分享到这里了~

相关推荐
流烟默1 小时前
MCP第 5 篇:用 Spring AI 写 MCP:注解、自动配置、ChatClient 集成
人工智能·spring·mcp封装
我是人✓2 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
来福猿3 小时前
SpringCloud Config 源码分析:配置拉取、刷新与多环境管理
后端·spring·spring cloud
古法老登瞎折腾4 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
企业数字化笔记5 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
雷一言说7 小时前
Spring AI 2.0 RAG:用 Metadata Filter 做多租户检索隔离
java·spring
WeiXin_DZbishe7 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
摇滚侠7 小时前
《大模型应用开发实践:基于 Spring AI+DeepSeek 实现》第 11 章 大模型技术概览 阅读笔记 1
人工智能·笔记·spring
十年Java程序媛9 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
流烟默11 小时前
日志里的 TID 为什么是 N/A:SkyWalking 异步线程池 traceId 传递实战
skywalking·异步线程池