JeecgBoot SkyWalking 分布式链路跟踪配置

背景

Jeecg Boot 3.8.2 微服务

SkyWalking 用于请求的链路跟踪,Elasticsearch 用于数据存储。

环境准备

  1. Java版本要求大于11
  2. Java配置环境变量 JAVA_HOME,JAVA_HOME 只需要放到目录级别即可,例如:D:\jdk

工具下载

Elasticsearch 版本不能高于8.x SkyWalking 不兼容,当前选择版本 v8.19.4

历史版本下载地址: www.elastic.co/downloads/p...

SkyWalking 由两部分组成, Foundations 和 Agents

  • Foundations 选择SkyWalking APM 版本为 v10.2.0
  • Agents 选择 Java Agent 版本为 v9.5.0

下载地址: skywalking.apache.org/downloads/

端口占用

Elasticsearch 占用端口为 9200

SkyWalking 的端口占用为 8080(UI界面)、11800(Service端数据接受端口)、12800(Service端数据查询端口)

若上述默认端口存在占用,则需进行修改后才能启动,最好不要动端口号。

sh 复制代码
# Windows中检查端口号是否占用的CMD命令
netstat -ano | findstr "查询的端口号"

Elasticsearch 端口号更改

Windows 版本,解压缩之后,进入工具目录,打开 config 目录,打开 elasticsearch.yml 配置文件,找到下列配置,没有则新增配置,重启Elasticsearch即可。

yaml 复制代码
http.port: 9200

注意事项

若更改 Elasticsearch 端口号后,在 SkyWalking 中也要对应修改监听的端口号,因为 SkyWalking 默认监听的存储端口是9200。

SkyWalking 端口号更改

Windows版本, SkyWalking 的端口号修改在两个配置文件中,分别为:

  1. config/application.yml 用于Service端的配置
  2. webapp/application.yml 用于UI界面的配置

config/application.yml 中,搜索11800和12800就能找到对应的配置,按需求修改即可,若更改了Elasticsearch的端口,此时也应搜索9200,将其修改为对应的端口

webapp/application.yml 中,直接搜索8080,按需修改即可。

工具启动

Elasticsearch

Windows版本,运行在bin/elasticsearch.bat 的脚本即可运行,运行成功后访问地址:https://localhost:9200

账户名:elastic

密码:通过 bin\elasticsearch-reset-password -u elastic -a -s 可查询用户密码,据说可从日志中获取,但我并未查询到

注意事项

Elasticsearch 默认只支持 HTTPS 协议,为方便起见,可在 config/elasticsearch.yml 将 xpack.security.enabled 设为false 允许使用HTTP协议,若无此配置则追加,建议开发环境如此操作,不然 SkyWalking 中需配置相应证书才能访问,SkyWalking 默认是HTTP协议。

SkyWalking

首先要配置存储数据的类型,在config/application.yml中配置 storage 中的 selector 的默认值为 elasticsearch

Windows版本,运行在bin/startup.bat 的脚本即可运行,运行成功后访问地址:https://localhost:8080

之后在IDEA中配置 SkyWalking 的Agent,在项目中的根目录新建空白目录,名称命名为jeecg-skywarking,将下载下来的Agent解压后放进去

最后在IDEA中配置网关服务的启动选项,追加JVM虚拟机选项,添加下列内容

sh 复制代码
-javaagent:D:\JAVA\cloud\jeecg-yanshi\jeecg-skywarking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jeecg-ys-gateway
-Dskywalking.collector.backend_service=localhost:11800

路径修改为自己的路径位置,端口号如发生更改,也同步修改即可。

结束

全部运行起来后,启动项目,多访问几次接口,在localhost:8080就能看到面板数据了,请求数量要多。

相关推荐
为思念酝酿的痛8 小时前
POSIX信号量
linux·运维·服务器·后端
小羊在睡觉8 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
swipe9 小时前
Neo4j + Graph RAG 医疗知识图谱工程实践:患者教育问答真正需要的是“关系可追溯”
后端·langchain·llm
源码宝10 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
金銀銅鐵10 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端
村口张大爷10 小时前
05 — 分层架构与依赖倒置
后端·架构·系统架构
Jasonakeke12 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
不做无法实现的梦~12 小时前
git指令速查
大数据·elasticsearch·搜索引擎
IT_陈寒13 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
uzong13 小时前
面试官:如何做好架构设计
后端·架构