SpringCloud整合Skywalking实现链路追踪

Skywalking单机搭建

SpringCloud整合Skywalking

当服务多起来的时候,发生错误以后,都不清楚是在哪个环节出了错。需要通过日志逐一排查,这就比较耗时了。所以可以通过国产软件 Skywalking 辅助开发。

下载地址:

http://skywalking.apache.org/zh/downloads/

ps: 我并没有选择最新的版本,因为怕不稳定,最终版本是 6.6.0 Binary Distribution (Windows)

解压后的目录结构如下:

SpringCloud整合Skywalking实现链路追踪_第1张图片

Skywalking 是使用 Java Agent 服务器探针来收集和发送数据到归集器。

有三种方式可以将相关服务的数据发送到 Skywalking 监听的端口(11800):

  • IDEA 部署探针
  • Java 启动方式部署探针
  • Docker 启动方式部署探针

探针(也就是 skywalking-agent.jar) 放在 agen 目录下。

IDEA 部署探针

修改项目的 VM 运行参数,点击菜单栏中的 Run --> EditConfigurations,这里我以项目 platform-apihub

为例:

SpringCloud整合Skywalking实现链路追踪_第2张图片

  • -javaagent:用于指定探针路径

  • -Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名

  • -Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址

Java 命令行启动方式

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=nacos-provider -Dskywalking.collector.backend_service=localhost:11800 -jar yourApp.jar

通过日志可以发现成功加载到探针

260

防丢失

DEBUG 2020-06-13 12:10:33:180 main AgentPackagePath : The beacon class location is jar:file:/D:/skywalking/apache-skywalking-apm-6.6.0/apache-skywalking-apm-bin/agent/skywalking-agent.jar!/org/apache/skywalking/apm/agent/core/boot/AgentPackagePath.class. 
INFO 2020-06-13 12:10:33:182 main SnifferConfigInitializer : Config file found in D:\skywalking\apache-skywalking-apm-6.6.0\apache-skywalking-apm-bin\agent\config\agent.config. 
12:10:36.441 [SkywalkingAgent-2-GRPCChannelManager-0] DEBUG org.apache.skywalking.apm.dependencies.io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework

ps:一定要调用服务的接口,才会在 skywalking 上有相应的数据产生

结果

图一

SpringCloud整合Skywalking实现链路追踪_第3张图片

图二

SpringCloud整合Skywalking实现链路追踪_第4张图片

你可能感兴趣的:(SpringCloud)