一、下载 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:11800
2.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.JeecgGatewayApplication
2.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
- 查看到详细调用链路。
当前显示异常链路追踪查询