12、分布式链路追踪:Sleuth + Zipkin

目录

  • 应用实例
    • (一)Sleuth
      • 1、每⼀个需要被追踪踪迹的微服务⼯程都引⼊依赖坐标
      • 2、每⼀个微服务都修改application.yml配置⽂件,添加⽇志级别
    • (二)Zipkin
      • Zipkin Server 构建
        • 1、pom
        • 2、application.yml
        • 3、启动类
      • Zipkin Client构建(在具体微服务中修改)
        • 1、pom添加依赖
        • 2、添加配置
    • (三)测试

应用实例

(一)Sleuth

1、每⼀个需要被追踪踪迹的微服务⼯程都引⼊依赖坐标


<dependency>
      <groupId>org.springframework.cloudgroupId>
      <artifactId>spring-cloud-starter-sleuthartifactId>
dependency>

2、每⼀个微服务都修改application.yml配置⽂件,添加⽇志级别

#分布式链路追踪
logging:
  level:
    org.springframework.web.servlet.DispatcherServlet: debug
    org.springframework.cloud.sleuth: debug

(二)Zipkin

Zipkin Server 构建

zipkin服务器需要新建一个项目lagou-cloud-zipkin-server-9411

1、pom


<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>lagou-parentartifactId>
        <groupId>com.lagou.edugroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>lagou-cloud-zipkin-server-9411artifactId>
    <dependencies>
        
        <dependency>
            <groupId>io.zipkin.javagroupId>
            <artifactId>zipkin-serverartifactId>
            <version>2.12.3version>
            <exclusions>
                
                <exclusion>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-starter-log4j2artifactId>
                exclusion>
            exclusions>
        dependency>

        
        <dependency>
            <groupId>io.zipkin.javagroupId>
            <artifactId>zipkin-autoconfigure-uiartifactId>
            <version>2.12.3version>
        dependency>


        
        <dependency>
            <groupId>io.zipkin.javagroupId>
            <artifactId>zipkin-autoconfigure-storage-mysqlartifactId>
            <version>2.12.3version>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druid-spring-boot-starterartifactId>
            <version>1.1.10version>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-txartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
        dependency>
    dependencies>

project>

2、application.yml

server:
  port: 9411
management:
  metrics:
    web:
      server:
        auto-time-requests: false # 关闭自动检测请求
spring:
  application:
    name: lagou-cloud-zipkin-server
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/lagou-sc?serverTimezone=UTC
    username: root
    password: root

3、启动类

package com.lagou.edu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin2.server.internal.EnableZipkinServer;


@SpringBootApplication
@EnableZipkinServer // 开启Zipkin 服务器功能
public class ZipkinServerApplication9411 {
     
    public static void main(String[] args) {
     
        SpringApplication.run(ZipkinServerApplication9411.class, args);
    }
}


Zipkin Client构建(在具体微服务中修改)

1、pom添加依赖


<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-zipkinartifactId>
dependency>

2、添加配置

spring:
  application:
    name: lagou-service-autodeliver
  zipkin:
    base-url: http://127.0.0.1:9411 # zipkin server的请求地址
    sender:
      # web 客户端将踪迹⽇志数据通过⽹络请求的⽅式传送到服务端,另外还有配置
      # kafka/rabbit 客户端将踪迹⽇志数据传递到mq进⾏中转
      type: web
  sleuth:
    sampler:
      # 采样率 1 代表100%全部采集 ,默认0.1 代表10% 的请求踪迹数据会被采集
      # ⽣产环境下,请求量⾮常⼤,没有必要所有请求的踪迹数据都采集分析,对于⽹络包括server端压⼒都是⽐较⼤的,
      # 可以配置采样率采集⼀定⽐例的请求的踪迹数据进⾏分析即可
      probability: 1

(三)测试

浏览器访问:http://localhost:9411

没有请求之前
12、分布式链路追踪:Sleuth + Zipkin_第1张图片
请求之后
12、分布式链路追踪:Sleuth + Zipkin_第2张图片

你可能感兴趣的:(Spring,Cloud,sleuth,zipkin)