springcloud集成SkyWalking链路追踪技术

在微服务多个服务调用过程中,随着服务数量增多,互相调用的变多,就会出现一些问题:

1、调用链路,如何快速定位问题

2、如果缕清微服务之间的依赖关系

3、各个微服务接口性能分析

4、整个业务流程的调用处理顺序

 

skywalking可以很好的处理这些问题,在springcloud微服务中如何整合skywalking呢,如下

下载链接:https://archive.apache.org/dist/skywalking/

此处是window,所以下载tar.gz即可,下载版本为8.5.0 

 文件目录如下:

 打开bin目录下,找到 startup.bat 双击启动。

然后访问localhost:8080,默认端口8080可以通过webapp里面的webapp.yml进行修改,启动完成就可以访问到如下可视化UI页面

 在idea中的服务需要对java的VM参数进行设置,点击edit configurations,找到VM options

 设置参数如下

-javaagent:D:\skywalking\apache-skywalking-apm-8.5.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-DSW_AGENT_NAME=service_name-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

第一行是skywalking解压包中agent文件夹下的skywalking-agent.jar所在位置

第二行是服务名称

第三行是这个skywalking的远程服务的地址

 这gateway的服务没有server,skywalking默认是没有集成gateway的,需要从 \agent\optional-plugins文件夹下找到gateway的jar包,复制到同级的plugins包下,就能使用gateway

 之后需要重启skywalking和微服务,之后就能看到gateway服务的相关请求日志信息

 通过拓扑图就比较直观看到请求的路径,点击右上角的自动刷新,这样就能实时看到请求更新

 点击具体的节点就就能看到对应节点的相关数据,处理性能等。

 

接下去说下如果想skywalking进行数据库持久化,此处用的是mysql,默认是h2,就是使用内存,虽然skywalking是要实时最新数据,但也是为了方便追踪问题,可以进行持久化,通常的两个数据库为ES和mysql。

1、修改配置文件中内容,数据库用mysql,配置文件地址为config\application.yml下

搜索storage, 将此处的h2改为mysql,然后找到mysql,将mysql的连接信息修改为你的数据库地址,修改账号密码,需要先去新建一个swtest的数据库

 

2、需要将mysql的jar放到对应的oap-libs文件夹下中

 这个jar可在自己本地项目中的jar包去找,这个mysql包很常见,很容易找到

 3、需要重启skywalking服务和微服务模块(两个都要重启)

重启完成后,我们也能从数据库swtest中看到自动给我们新建了好多表

再次访问skywalking可视化UI页面,随便请求个接口,之后我们可以看到请求数据,之后我们再将skywalking服务关闭重启,之后再刷新可视化页面,我们可以看到,之前的请求数据依旧还在,不会被删除,说明依旧被持久化到mysql中

 

 

 

 以上内容纯属学习使用!

 

 

 

  

posted @   多多指教~  阅读(500)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示