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

相关推荐
sunbin2 小时前
稀土掘金我要吐槽你
后端
程序员鱼皮4 小时前
我代表编程导航,向大家道歉!
前端·后端·程序员
zjjuejin4 小时前
Maven 生命周期与插件机制
后端·maven
阿杆4 小时前
为什么我建议你把自建 Redis 迁移到云上进行托管
redis·后端
Java水解4 小时前
go语言教程(全网最全,持续更新补全)
后端·go
bobz9655 小时前
QEMU 使用 DPDK 时候在 libvirt xml 中设置 sock 的目的
后端
thinktik5 小时前
AWS EKS 计算资源自动扩缩之按需申请Fargate[AWS 中国宁夏区]
后端·aws
thinktik5 小时前
AWS EKS 实现底层EC2计算资源的自动扩缩[AWS 中国宁夏区]
后端·aws
uhakadotcom5 小时前
什么是OpenTelemetry?
后端·面试·github