ruoyi-cloud认证功能链路追踪
ruoyi-cloud认证功能链路追踪
一、skywalking
1.下载
下载链接:
Downloads | Apache SkyWalkinghttps://skywalking.apache.org/downloads/
需要注意的是skywalking在9.0版本以上apm包和agent包是分离的,需要分别下载
我们选择distribution下载两个压缩包
2.配置
将下载好的两个压缩包分别解压,得到两个文件夹
apm文件夹目录
agent目录
我们将整个 agent一同复制到apm目录下bin的同级,将文件夹名改为agent,如图
agent就配置好了
因为skywalking默认启动端口为8080,与ruoyi-cloud的auth端口重复,所以我们要修改skywalking的启动端口,当然,修改auth服务的启动端口也可以
首先进入skywalking的webapp目录下修改yml文件
将启动端口改为8081,保存并关闭
至此,skywalking的配置就完成了(没有配置持久化)
3.启动验证
进入skywalking的bin目录下双击启动startup.bat文件
这时会弹出两个cmd 启动框,表示启动成功
打开链接http://localhost:8081/ skywalking页面已经显示
二、ruoyi-cloud
1.下载
下载链接:
RuoYi-Cloud: 🎉 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统,同时提供了 Vue3 的版本 (gitee.com)https://gitee.com/y_project/RuoYi-Cloud?_from=gitee_search
下载或者clone ruoyi-cloud源码
2.启动服务更改配置
首先我们进入nacos的bin目录启动cmd,然后启动nacos
进入nacos配置页面修改ruoyi-cloud的启动配置(默认nacos已经持久化)
编辑修改以上配置文件(设置数据库和Redis账号密码)
3.配置vm
添加启动配置vm
添加配置,另外的服务类似
启动服务,启动ruoyi-cloud前端
三、链路追踪
打开浏览器调试器后可以看到,我们点击登录按钮后请求了三个接口
点击查看后可以看到这三个接口分别在哪个模块
这时我们返回skywalking的web页面一一追寻
1.login
点击服务---Trace---输入服务名---搜索---找到我们要找的login请求---切换为树状图表示
打开详细可以看到到底是调用了哪个端口(/login)
我们找到auth模块中的相应位置,使用全局搜索搜索接口路径
点击进入login方法,再往下追
发现断了,这时我们返回skywalking去看
可以看到,在经过user/info/{username}后从auth模块跳到了system模块,所有我们在system模块中搜索user/info/{username},可以找到
下面是获取权限,上面是验证账号密码,我们继续顺着红框往下追
可以发现,最后已经在和数据库通讯获取用户信息了,这点也和skywalking上吻合
通过链分析我们还可以看到请求了/logininfor这个接口,让我们追一下
首先还是到system中搜索
往下追
可以看到最后与数据库交互写入登陆日志
2.getInfo
老方法,system全局搜,找到位置往下追
经过CSMD层最后发现与数据库交互
3. getRouters
老规矩,全局搜索
往下追
发现与数据库交互获得菜单列表
更多推荐
所有评论(0)