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

相关推荐
一 乐23 分钟前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
码事漫谈2 小时前
Protocol Buffers 编码原理深度解析
后端
码事漫谈2 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
踏浪无痕3 小时前
AI 时代架构师如何有效成长?
人工智能·后端·架构
程序员小假3 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
武子康5 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
maozexijr5 小时前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
源码获取_wx:Fegn08955 小时前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
独断万古他化5 小时前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
毕设源码_郑学姐5 小时前
计算机毕业设计springboot基于HTML5的酒店预订管理系统 基于Spring Boot框架的HTML5酒店预订管理平台设计与实现 HTML5与Spring Boot技术驱动的酒店预订管理系统开
spring boot·后端·课程设计