Spring Cloud 链路监控

Spring Cloud Sleuth

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
DEBUG [order,1fd82ebf55698e67,99904c1fe1a0165e,false] 

order:application name — 应用的名称,也就是application.properties中的spring.application.name参数配置的属性。
1fd82ebf55698e67:traceId — 为一个请求分配的ID号,用来标识一条请求链路(一条链路里面只会包含一个traceId)。
99904c1fe1a0165e:spanId — 表示一个基本的工作单元,一个请求可以包含多个步骤,每个步骤都拥有自己的spanId。一个请求包含一个TraceId,多个SpanId。
false : export — 布尔类型。表示是否要将该信息输出到其他服务进行收集和展示。

Zipkin

1.安装Zipkin

docker run -d -p 9411:9411 openzipkin/zipkin

2.引入依赖

<!--<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin</artifactId>
        </dependency>-->

        <!-- 包含sleuth和zipkin -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>

3.配置

spring:
  #采样率
  sleuth:
    sampler:
      probability: 1.0
  zipkin:
    base-url: http://localhost:9411/
    #配置zipkin发送类型为web
    sender:
      type: web

zipkin.sender.type: web,此配置在不同的版本中配置不同,此处使用的是Spring Boot 2.0.0.BUILD-SNAPSHOT和Spring Cloud Finchley.BUILD-SNAPSHOT。如果不配置此项,后台Sleuth数据export状态为true,但是zipkin接受不到采集数据。
在这里插入图片描述
在这里插入图片描述

分布式追踪系统

核心步骤:
数据采集
数据存储
查询展示

OpenTracing规范

在数据采集过程中,由于不同系统的api并不兼容,这就导致如果希望切换追踪系统,往往会带来较大改动。因此就诞生了OpenTracing规范。

通过提供平台无关,商务无关的API,使得开发人员能够方便的添加或者更换追踪系统的实现。OpenTracing正在为全球的分布式追踪提供统一的概念和数据标准。

Annotation

事件类型
cs(Client Send) 客户端发起请求的时间
cr(Client Received)客户端收到处理完请求的时间
ss(Server Send)服务端处理完逻辑的时间
sr(Server Received)服务端收到调用端请求的时间

客户端调用时间=cr-cs
服务端处理时间=sr-ss

ZipKin

在这里插入图片描述

几个关键概念:
traceId 全局的跟踪id,是追踪的入口点
spanId 下一层的请求跟踪id,一个traceId可以包含一个以上的spanId
parentId 上一层的请求跟踪id,用来将前后的请求串联起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值