Spring Cloud 链路跟踪

使用Spring Cloud Sleuth+Zipkin,是目前为止Spring Cloud微服务链路跟踪的成熟解决方案,对比国内鹰眼、Cat没有技术压力,且文档齐全,轻松实现微服务链路跟踪分析。

首先安装zipkin,使用Docker方式一键安装,

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

安装启动后打开http://localhost:9411根地址,即可查看zipkin分析界面。

 

之后开始微服务上的安装,需要在zuul的api网关和service模块进行如下配置:

1.在pom中添加zipkin包(会自动添加sleuth依赖)

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

2.在统一配置.yml中添加如下设置

spring:
  # zipkin服务跟踪
  zipkin:
    base-url: http://localhost:9411
    # 采样直接发布到web服务器
    sender:
      type: web
  # zipkin采样比
  sleuth:
    sampler:
      # 默认0.1, 旧版本为percentage,2.0.X版本改为probability
      probability: 1

其中,spring.zipkin.base-url为zipkin部署地址根目录,截取到端口号

spring.sleuth.sampler.probability为统计服务百分比,默认0.1即监控10%的接口访问。

添加完配置后重启,sleuth会自动将监控信息发送到zipkin服务器,之后便可以通过web界面查看到相关接口访问情况,示例如下:

Traces Info propagation
这里有个坑:如果服务中调用了消息中间件,如Kafka、RabbitMQ,采样会默认发送到中间件而不是zipkin Web服务器,可以设置微服务端spring.zipkin.sender.type=web,否则需要设置zipkin端连接到对应的消息中间件

参考文档:

sleuth https://github.com/spring-cloud/spring-cloud-sleuth

zipkin https://github.com/openzipkin/docker-zipkin

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值