SkyWalking监控服务调用链路

By ref-nobody 创建时间 2025年5月7日 | 本文最后更新于 2025年5月12日 #SkyWalking

skywalking版本:10.2.0;skywalking agent:9.4.0

从skywalking10.2.0版本开始,存储默认使用的是banyandb数据库之前默认是H2,因此需要先运行这个数据库,否则oap服务无法启动。

这里使用docker部署的方式,简单部署banyandb:
1. 拉取镜像
docker pull apache/skywalking-banyandb:latest
2. 运行docker容器

docker run -d \
  -p 17912:17912 \
  -p 17913:17913 \
  --name banyandb \
  apache/skywalking-banyandb:latest \
  standalone

需要注意的是需要以standalone运行,否则容器无法运行。

3. 之后进入skywalking目录/bin,运行./startup.sh命令启动即可。如果启动失败,可以查看logs目录下的日志进行排查。默认运行在localhost:8080端口,在浏览器中打开:

下面将我们运行的服务接入skywalking中。使用我们下载的skywalking agent,在服务启动的时候添加javaagent即可。例如之前的sentinel示例程序,如果要将其接入skywalking,则在启动命令行中添加jvm参数:-javaagent:path/to/your/skywalking-agent/skywalking-agent.jar

然后我们在skywalking中的市场选择常规服务:

点击右侧的服务之后会进行跳转,然后我们可以向服务发送请求,探索即可。

额外补充:
skywalking agent的配置文件在下载的config/agent.config文件中,我们可以配置开启skywalking监控方法请求的参数:

# 启用 SpringMVC/Tomcat 等插件的参数收集
plugin.springmvc.collect_http_params=true
plugin.tomcat.collect_http_params=true

# 限制参数最大长度(防止性能问题)
plugin.http.http_params_length_threshold=1024

这样我们可以在链路追踪的地方看到请求参数信息:

Leave a Reply

Your email address will not be published. Required fields are marked *