springcloud学习(十)-Sleuth(服务的追踪)


title: springcloud学习(十)-Sleuth(服务的追踪)
date: 2021-2-2

  • 微服务
  • springcloud学习(十)-Sleuth(服务的追踪)
  • springcloud
  • spring
  • springboot
    categories:
  • 微服务
  • springcloud
  • springcloud学习(十)-Sleuth(服务的追踪)

一、Sleuth 的介绍

在整个微服务架构中,微服务很多,一个请求可能需要调用很多很多的服务,最终才能完成一个功能,如果说,整个功能出现了问题,在这么多的服务中,很难定位到问题的所在点,出现问题的原因是什么,所以我们可以通过 Sleuth 来解决这个问题。

  • Sleuth 可以获取得到整个服务链路的信息
  • 可以通过 Zipkin 的图形化界面去看到信息。
  • Sleuth 将日志信息存储到数据库中。

二、Sleuth 的使用

Zipkin 官网 https://zipkin.io/pages/quickstart。

2.1 导入依赖

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

2.2 编写配置文件

logging:
  level:
    org.springframework.web.servlet.DispatcherServlet: DEBUG

2.3 测试

[CUSTOMER-v1,4fcb8ee02acac7c9,4fcb8ee02acac7c9,false]

[服务名称,总链路id,当前服务的链路id,(不会将当前的日志信息,输出到其他系统中)]

在这里插入图片描述

三、Zipkin 的使用

3.1 通过 docker-compose 安装 Zipkin

version: "3.1"
services:
  zipkin:
    image: daocloud.io/daocloud/zipkin:latest
    restart: always
    container_name: zipkin
    ports:
      - 9411:9411

3.2 导入相关依赖

在项目中导入 Zipkin 的依赖,使其连接上 Zipkin。

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

3.3 编写配置文件

spring:
  sleuth:
    sampler:
      probability: 1 #百分之多少的sleuth信息需要输出到zipkin(1代表全部100%)
  zipkin:
    base-url: http://127.0.0.1:9411/  #指定zipkin的地址

3.4 测试

四、整合 RabbitMQ

4.1 导入 RabbitMQ 依赖

zipkin 依赖中已经包含了了 RabbitMQ 了。

4.2 添加配置信息

zipkin 默认使 HTTP 的方式,需要修改为 RabbitMQ 的方式。

spring:
  zipkin:
    sender:
      type: rabbit

4.3 修改 docker-compose 的配置文件

version: "3.1"
services:
  zipkin:
    image: daocloud.io/daocloud/zipkin:latest
    restart: always
    container_name: zipkin
    ports:
      - 9411:9411
    environment:
      - RABBIT_ADDRESSES=192.168.31.138:5672 #本地ipv4地址:端口
      - RABBIT_USER=test
      - RABBIT_PASSWORD=test
      - RABBIT_VIRTUAL_HOST=/test

4.4 测试

五、将 Zipkin 中的数据持久化到 ES

修改 docker-compose.yml 文件。

version: "3.1"
services:
  zipkin:
    image: daocloud.io/daocloud/zipkin:latest
    restart: always
    container_name: zipkin
    ports:
      - 9411:9411
    environment:
      - RABBIT_ADDRESSES=192.168.31.138:5672 #本地ipv4地址:端口
      - RABBIT_USER=test
      - RABBIT_PASSWORD=test
      - RABBIT_VIRTUAL_HOST=/test
      - STORAGE_TYPE=elasticsearch
      - ES_HOSTS=http://192.168.31.138:9200

启动时 zipkin 报了 java.io.UncheckedIOException: java.net.NoRouteToHostException: No route to host的异常,原因:服务器没有放开 9200 端口。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值