解决skywalking-agent-java不支持spring cloud gateway问题
开发环境:Windows10 、JDK17
下载解压Java Agent
skywalking官网下载地址:https://skywalking.apache.org/downloads/
解压目录为:D:\Programs\soft-Plugins\apache-skywalking-java-agent-8.16.0\skywalking-agent
解压后目录结构为:
在IDEA中配置SkyWalking Agent
可参考官网博客文档:https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/#232-idea
我的IDEA版本:IntelliJ IDEA 2021.3.3 (Ultimate Edition)
设置gateway项目的Edit Configuration选项
配置VM options:
-javaagent:D:\Programs\soft-Plugins\apache-skywalking-java-agent-8.16.0\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_name=bulv-gateway
-Dskywalking.collector.backend_service=127.0.0.1:11800
必须在VM options中指定-Dskywalking.agent.service_name才会在skywalking服务列表中显示服务名称。
配置Environment variables:
SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
如果configuration中没有Environment variables点击Modify options选中Environment variables:
最后配置如下:
复制jar
进入skywalking-agent下的optional-plugins目录,把apm-spring-cloud-gateway-x.x-plugin-8.16.0.jar复制到skywalking-agent下的plugins目录里,根据spring-cloud-gateway依赖的spring版本选择不同的jar,我依赖的spring boot版本为3.0.2,所有我复制的apm-spring-cloud-gateway-3.x-plugin-8.16.0.jar。
启动skywalking-apm
前提是下载并解压了apache-skywalking-apm,然后进入到bin目录下双击startup.bat
注意:
我这里把D:\Programs\soft-Plugins\apache-skywalking-apm-bin\webapp和D:\Programs\soft-Plugins\apache-skywalking-apm-bin\config下的log4j2.xml的日志级别改为了DEBUG所以打印的日志多,默认是INFO级别的。
最后启动的spring cloud gateway项目,然后访问网关相关的接口后,再访问地址:http://127.0.0.1:8080,打开skywalking dashboard 点击左侧菜单:普通服务->服务。查看相关服务实例的Trace。