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就能看到面板数据了,请求数量要多。

相关推荐
952364 小时前
MyBatis
后端·spring·mybatis
uzong7 小时前
9 种 RAG 架构,每位 AI 开发者必学:完整实战指南
后端
小江的记录本7 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
止语Lab7 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
Elastic 中国社区官方博客9 小时前
ES|QL METRICS_INFO 和 TS_INFO:为你的时间序列数据建立目录
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索
Daybreak10 小时前
Elasticsearch 里的索引和 Mapping,到底是什么关系?
后端
Lee川10 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端
李小狼lee10 小时前
深入浅出sse协议,用代码自己实现
后端