返回介绍

7.3 全链路追踪系统实践

发布于 2025-04-21 20:58:45 字数 2935 浏览 0 评论 0 收藏

7.1 节与 7.2 节介绍了开源的全链路追踪系统的基本概念与技术框架。本节将讲解具体的使用示例,在以后的业务开发中,可以集成这些框架。

7.3.1 Zipkin 实践

Spring Boot 2.x 提供了集成 Zipkin 的工具包,开发者可以很容易地在自己的业务工程里集成 Zipkin。下面介绍一下简单的集成示例。

(1)根据要求下载 zipkin-server 的 JAR 包,然后在本地启动 Zipkin 的 Server 实例,启动命令如下:

Java –jar zipkin-server.jar

(2)访问 http://localhost:9411/zipkin,即可打开 Zipkin 的 Web UI 页面,如图 7.7 所示。

127-1

图 7.7 Zipkin 主页面

(3)为本地服务添加 Zipkin 的相关依赖:

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-sleuth</artifactId>
        <version>2.2.3.RELEASE</version>
</dependency>
<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-sleuth-zipkin</artifactId>
        <version>2.2.3.RELEASE</version>
</dependency>

(4)在本地服务配置文件中添加 Zipkin 配置信息:

spring:
  zipkin:
    enabled: true
    baseUrl: http://127.0.0.1:9411
  sleuth:
    sampler:
      probability: 1

(5)启动本地服务,访问 http://localhost:8080/hi/springBoot,之后在 Zipkin 的管理页面中选择本地服务名,然后单击“查找”按钮,即可查找到刚才访问的 Trace 信息,如图 7.8 所示。

128-1

图 7.8 查找 Trace 信息

(6)单击信息即可进入详情页面,如图 7.9 所示。

129-1

图 7.9 Trace 的详细信息

图 7.9 展示了一次请求中 Zipkin 统计的信息,包括响应时间、http.method、http.path、mvc.controller.class、mvc.controller.method、traceId、spanId 和 parentId 等。

7.3.2 Skywalking 实践

Pinpoint 与 Skywalking 都是使用 Agent 进行采集,其原理都是字节码增强技术。本节将介绍 Skywalking 与 Spring Boot 的集成示例。具体步骤如下:

(1)下载 Skywalking 包。访问 https://www.apache.org/dyn/closer.cgi/skywalking/,选择 Skywalking 包,如果使用 Elasticsearch 7.x 版本,则需要下载相关的版本。本例选择不使用 Elasticsearch 包,版本是 8.0.1。

下载并解压后,目录包含以下几个部分:

  • bin 目录:主要存放启动脚本,包含 oapService.sh 和 webappService.sh 等。
  • config 目录:oap 服务的配置,包含一个配置文件 application.yml。
  • agent 目录:Skywalking 的 Agent,一般用来采集业务系统的日志。
  • webapp 目录:Skywalking 前端的 UI 界面服务。

直接单击 bin 目录下的 startup.bat 或 startup.sh 文件,即可启动 oapService 和 Webapp 服务。

(2)为应用程序配置启动参数。添加 VM options 为-javaagent:E:\\apache-skywalking-apm-8.0.1\\apache-skywalking-apm-bin\\agent\\skywalking-agent.jar;

将环境变量设置为 W_AGENT_NAME=skywalking-test,然后启动本地服务,发送一次服务请求。

(3)打开 Skywalking 后台的 UI 页面,“仪表盘”页面可以监控到本地服务和当前端点,“拓扑图”页面用于展示调用的拓扑结构,“追踪”页面用于展示调用链的树状信息,如图 7.10 所示。

130-1

图 7.10 Skywalking UI 页面

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。