准备一个SpringBoot程序,打成可执行jar包,写一个shell脚本,在启动项目的Shell脚本上,通过-javaagent参数进行配置SkyWalking Agent来跟踪微服务;
startup.sh 脚本:
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=springboot-skywalking-demo #Agent名字,一般使用'spring.application.name'
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 #配置 Collector 地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置链路的最大Span数量,默认为 300c
export JAVA_AGENT=-javaagent:/usr/local/soft/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
java $JAVA_AGENT -jar springboot-skywalking-demo-0.0.1-SNAPSHOT.jar #jar 启动
java -javaagent:/usr/local/skywalking/skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=192.168.0.44:11800 demo.jar
参数名对应agent/config/agent.config配置文件中的属性.
属性对应的源码:org.apache.skywalking.apm.agent.core.conf.Config.java
# 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.+配置文件中的配置名作为系统配置项来进行覆盖.javaagen惨数配置方式优先级更高
-javaagent:D:\apache-skywalking-java-agent-8.11\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_name=edevp-org
-Dskywalking.collector.backend_service=192.168.0.44:11800
-Dskywalking.collector.backend_service可以指定远程地址,但是-javaagent必须绑定你本机物理路径的skywalking-agent.jar
访问token接口{{gateway-host}}/auth/oauth/token
点击穿透单个服务
Trace
注意默认是按照耗时排序,可以选择根据请求时间StartTime
排序
可以发现左侧变红色,并且右侧链路中断,点击穿透,可以看到详细日志