Spring Cloud系列链路追踪(Sleuth+Zipkin)

有一段时间没写了,接着之前的吧这个写完
使用zipkin可以方便的查看服务之间的调用,调用出错的也可以查看,还可以导出json,数据分析也很方便
let’s do it
目前我知道的有两种搭建的方式,先来方便简单地

添加依赖

 <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-server</artifactId>
            <version>2.12.0</version>
        </dependency>

        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-ui</artifactId>
            <version>2.12.0</version>
        </dependency>

spring boot版本:2.1.14
spring cloud版本:Greenwich.SR5
虽然到目前spring boot 已经到2.3.x了但不要怀疑我,继续

主类添加注解

@SpringBootApplication
@EnableZipkinServer
@EnableDiscoveryClient
public class ZipkinApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZipkinApplication.class, args);
    }

}

配置文件里面没啥特别的配置

server:
  port: 9030
  address: 192.168.31.37

spring:
  application:
    name: BYB-ZIPKIN
#  spring:
#    zipkin:
#      base-url: http://${server.address}:9040
#    sleuth:
#      sampler:
#        # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
#        probability: 1.0

eureka:
  instance:
    ip-address: ${server.address}
    hostname: ${server.address}
    non-secure-port: ${server.port}
    prefer-ip-address: true
    instance-id: ${server.address}:${server.port}
    lease-renewal-interval-in-seconds: 10

  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: http://${server.address}:38001/eureka/

然后访问端口
在这里插入图片描述

刚开始没有调用信息,其他服务需要添加依赖和配置

  • 依赖
	<dependency>
     	<groupId>org.springframework.cloud</groupId>
      	<artifactId>spring-cloud-starter-sleuth</artifactId>
        <version>2.2.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zipkin</artifactId>
        <version>2.2.2.RELEASE</version>
	</dependency>
  • 感觉除了注册中心,几乎所有的微服务都需要添加依赖,没有添加依赖的微服务在调用链中会消失

-加配置

spring:
  application:
    name: ts-customer

  sleuth:
    web:
      client:
        enabled: true
    sampler:
      # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
      probability: 1.0
  zipkin:
    enabled: true
    base-url: http://${server.address}:9030
    sender:
      type: web
    locator:
      discovery:
        enabled: true
  • 像这样的配置是所有微服务都一样的,我们就可以使用配置中心,把它放到公共的服务里面,非常方便管理

自己调用几次接口就可以看见调用信息。。如果到这里调用没看见有调用信息。建议查看配置文件是否有问题。

途中的遇到问题

和往常一样使用idea搭建项目,然后引依赖,导入jar包,然后就是各种报错,我看别人也是这么搭建的啊,之前我们也搭建成功了啊(去年年底搭建过一套完整的),还好基于之前的经验,报的错五花八门,我都不带看的,99%就是版本不兼容问题,然后看springboot版本2.2.2,降,反正就是各种改版本


。。。。。。。。。。。。。。一条辛酸路


最后还是谷歌了一下,解决了问题(百度就不说了。。)
在maven中央仓库可以看见支持的版本,怪我太年轻,之前没注意看,只知道引jar包去了
在这里插入图片描述
zipkin-server最高版本才支持到spring boot 2.1.4。。。。
好吧。。。。。。

另一种搭建方式

我这里就提一下,因为我懒,所以就不搞了
需要下载zipkin-server的jar包,然后运行它(因为还要下载jar部署,所以我放弃了这种方式)
然后访问http://ip:9411访问,这都不是问题
然后新建spring boot项目
引依赖

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

添加配置

spring:
  application:
    name: BYB-ZIPKIN
  spring:
    zipkin:
      base-url: http://zipkin服务ip:9411
    sleuth:
      sampler:
        # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
        probability: 1.0

应该也是可以的。。。。。

zipkin页面详解:https://blog.csdn.net/zlhmeng/article/details/106190961
over!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值