服务的追踪-Sleuth

本文介绍了在微服务架构中如何利用Sleuth进行链路追踪,并通过Zipkin展示图形化界面来定位问题。详细阐述了Sleuth的依赖引入与配置,以及Zipkin的搭建和使用。同时,展示了如何整合RabbitMQ进行消息传递,以及将Zipkin数据存储到Elasticsearch中,以增强日志管理和故障排查能力。
摘要由CSDN通过智能技术生成

1 引言

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

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

2 Sleuth的使用

导入依赖

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

编写配置文件

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

[OPEN-USER-v1,ebb3cc2e66f86a7a,bd37765364975051,true]

SEARCH:服务名称
ebb:总链路id
bd3:当前服务的链路id
false:不会将当前的日志信息,输出其他系统中

3 Zipkin的使用

搭建Zipkin的web工程 https://zipkin.io/

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

http://lp:port/zipkin
http://162.14.64.72:9411/zipkin/ 访问地址

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

编写配置文件

#指定服务的名称
spring:
  sleuth:
    sampler:
      probability: 1   # 百分之多少的sleuth信息需要输出到zipkin中(0.5  0.01)
  zipkin:
    base-url: http://192.168.199.109:9411/  # 指定zipkin的地址

测试

4 整合RabbitMQ

导入RabbitMQ依赖

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

修改配置文件

spring:
  zipkin:
    sender:
      type: rabbit
      
      
      
rabbitmq:
    host: 162.14.64.72
    port: 5672
    username: test
    password: test
    virtual-host: test      
      

修改Zipkin的信息

version: "3.1"
services:
  zipkin:
   image: daocloud.io/daocloud/zipkin:latest
   restart: always
   container_name: zipkin
   ports:
     - 9411:9411
   environment:
     - RABBIT_ADDRESSES=162.14.64.72:5672
     - RABBIT_USER=test
     - RABBIT_PASSWORD=test
     - RABBIT_VIRTUAL_HOST=test

5 Zipkin存储数据到ES oss fastdfc Hadoop 磁盘阵列

重新修改zipkin的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.199.109:5672
     - RABBIT_USER=test
     - RABBIT_PASSWORD=test
     - RABBIT_VIRTUAL_HOST=/test
     - STORAGE_TYPE=elasticsearch
     - ES_HOSTS=http://192.168.199.109:9200
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值