链路追踪之Zipkin

57 阅读1分钟

先看效果

准备 zipkin

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

zipkin 首页:http://localhost:9411/

准备 Spring Boot 项目

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-tracing-bridge-otel</artifactId>
    </dependency>
    <dependency>
        <groupId>io.opentelemetry</groupId>
        <artifactId>opentelemetry-exporter-zipkin</artifactId>
    </dependency>
    @Controller
    class HomeController {

        private static final Log logger = LogFactory.getLog(HomeController.class);

        @GetMapping("/login")
        String login() {
            logger.info("login() has been called");
            return "login";
        }
    }
logging.level.org.springframework.security=TRACE
management.tracing.sampling.probability=1.0
management.zipkin.tracing.*

访问/login后即可在zpkin中查询到请求信息 image.png

参考文档

Spring Boot Tracing:docs.spring.io/spring-boot…
zipkin Quikstart:zipkin.io/pages/quick…