Skip to content

一、下载 Agent 安装包

下载地址: https://skywalking.apache.org/downloads/

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 目录下;

如下操作是配置支持网关插件功能:

  1. 进入 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

  1. 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/
  1. 需要重启 SkyWalking-oap-serverSkyWalking-web-ui 才会生效。
shell
# 进入下载服务端解压后安装包目录, 进行重启。
$  sh ../apache-skywalking-apm-bin/bin/startup.sh
  1. 重启后,需要重启关于网关服务。
  • 当前所有的请求通过网关进来,可以看到所有业务服务都连接网关服务

二、使用 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 环境

  1. 准备一个SpringBoot程序,打成可执行jar包。
  2. 写一个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 访问接口,查询详细链路

当前显示异常链路追踪查询