一、下载 Agent 安装包 
shell
wget https://dlcdn.apache.org/skywalking/java-agent/8.12.0/apache-skywalking-java-agent-8.12.0.tgz- 解压后的目录:

- skywalking-agent.jar : 代理服务 Jar 包。
- config : 代理服务启动时使用的配置文件。
- plugins : 包含多个插件,代理服务启动时会加载改目录下的所有插件。
- optional-plugins: 可选插件,当支持某种功能时。 - 比如: Spring Cloud Gateway,则需要把对应的jar 包拷贝到 plugins 目录下;
 
如下操作是配置支持网关插件功能:
- 进入 optional-plugins文件目录, 可以查看到对应的版本的apm-spring-cloud-gateway-x.x.x-plugin-8.12.0.jar
根据依赖使用 spring-cloud-gateway jar 包,使用相应的版本; 当前使用的是 2.2.5,所以使用 2.1.x-plugin
- 将 apm-spring-cloud-gateway-x.x.x-plugin-8.12.0.jar移动到plugins目录,让它支持网关插件功能。
shell
# 移动: 网关Jar依赖包 到 plugins 目录
$ mv optional-plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.12.0.jar plugins/- 需要重启 SkyWalking-oap-server和SkyWalking-web-ui才会生效。
shell
# 进入下载服务端解压后安装包目录, 进行重启。
$  sh ../apache-skywalking-apm-bin/bin/startup.sh- 重启后,需要重启关于网关服务。
- 当前所有的请求通过网关进来,可以看到所有业务服务都连接网关服务。
二、使用 skywalking‐agent.jar,添加到 SkyWalking 中。 
2.1 WINDOW 环境 (使用IDEA配置) 
在IDEA运行程序中的配置 JVM 参数,如下图所示:
参数解析:
shell
# skywalking‐agent.jar的本地磁盘的路径
‐javaagent:D:\解压包\skywalking-agent\skywalking‐agent.jar
# 在skywalking上显示的服务名
‐DSW_AGENT_NAME=ep-gateway
# SkyWalking 的 collector服务的IP及端口 (可以指定远程地址)
‐DSW_AGENT_COLLECTOR_BACKEND_SERVICES=10.136.14.74:118002.2 启动服务后, 查看控制台输出 
shell
# IDEA运行程序网关程序日志输出控制台信息, 重要信息
$ "C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" -javaagent:F:\skywalking\apache-skywalking-java-agent-8.12.0\skywalking-agent\skywalking-agent.jar=logging.level=debug -DSW_AGENT_NAME=ep-gateway -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=10.136.14.74:11800 -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always "-javaagent:F:\idea\IntelliJ IDEA 2020.3\lib\idea_rt.jar=52706:F:\idea\IntelliJ IDEA 2020.3\bin" -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\AppData\Local\Temp\classpath1977478024.jar org.jeecg.JeecgGatewayApplication2.2 LINUX 环境 
- 准备一个SpringBoot程序,打成可执行jar包。
- 写一个Shell脚本,在启动项目的Shell脚本上,通过-javaagent参数进行配置SkyWalking Agent来跟踪微服务;
- 编写 startup.sh脚本
shell
#!/bin/sh
###################### START: SkyWalking Agent配置 ######################
# Agent名字,一般使用`spring.application.name`
export SW_AGENT_NAME=ep-gateway
# SkyWalking 的 collector服务的IP及端口 (可以指定远程地址)
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=10.136.14.74:11800
# 配置链路的最大Span数量,默认为 300
export SW_AGENT_SPAN_LIMIT=2000
# skywalking‐agent.jar的本地磁盘的路径
export JAVA_AGENT=‐javaagent:D:\解压包\skywalking-agent\skywalking‐agent.jar
# 启动jar服务
java $JAVA_AGENT ‐jar ep-gateway-2.4.0.jar 
###################### END: SkyWalking Agent配置 ########################- 等同于
shell
$ java ‐javaagent:D:\解压包\skywalking-agent\skywalking‐agent.jar  
-DSW_AGENT_NAME=ep-gateway \
‐DSW_AGENT_COLLECTOR_BACKEND_SERVICES=10.136.14.74:11800 \
-DSW_AGENT_SPAN_LIMIT=2000 \
‐jar ep-gateway-2.4.0.jar- 参数名对应目录 ../config/agent.config配置文件中的属性。 属性对应的源码:org.apache.skywalking.apm.agent.core.conf.Config.java
config
# The service name in UI
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName} 
# Backend service addresses. 
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}我们也可以使用skywalking.+配置文件中的配置名作为系统配置项来进行覆盖。
3.访问 SkyWalking UI 
3.1 查看微服务是否在 SkyWalking UI 进行监控 
3.2 访问接口,查询详细链路 
- 访问接口: http://10.136.14.74:7001/dms-sales-slip/listPage
- 查看到详细调用链路。
当前显示异常链路追踪查询
