SpringCould之链路追踪工具Zipkin整合

这里写目录标题

  • 1、简介
  • 2、例子(服务器端)
  • 2、例子(客户端)

1、简介

zipkin是一个分布式的跟踪系统,由Twitter公司开发的,是根据Google发表的那一片论文Dapper, a Large-Scale Distributed Systems Tracing Infrastructure来设计的。zipkin的主要功能是收集来自各个系统的监控数据。

zipkin主要包括四个模块:

Collector 接受或者收集各个应用传输的数据
Storage:负责存储接收到的数据,默认是存储在内存当中的,也可以支持存在MySQL当中
API:负责查询Storage中存储的数据,主要是提供给Web UI来使用
Web:主要是提供简单的web界面
工作流程
一个应用的代码发起HTTP get请求,经过Trace框架拦截,然后

把当前调用链的Trace信息添加到HTTP Header里面
记录当前调用的时间戳
发送HTTP请求,把trace相关的header信息携带上
调用结束之后,记录当前调用话费的时间
然后把上面流程产生的 信息汇集成一个span,把这个span信息上传到zipkin的Collector模块

Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch

2、例子(服务器端)

以mem为例子:
config

#the common configuration
#the common of springCloud
spring.application.name=zipkin-server
server.port=9001
spring.main.allow-bean-definition-overriding=true
management.metrics.web.server.auto-time-requests=false

#��������Ϊzipkin����kafka
#�洢���ͣ�ȱʧ�������ʱ��Ĭ��ʹ���ڴ�
zipkin.storage.type=mem
zipkin.collector.kafka.bootstrap-servers=10.9.44.14:9092
zipkin.collector.kafka.zookeeper=10.9.44.13:2181
#kafka���⣬������ʱĬ��ʹ��zipkin
zipkin.collector.kafka.topic=zipkin_test
#logging.level.root=debug

pom


```java


    4.0.0

    com.example
    bdf_zipkin
    链路收集服务
    0.0.1-SNAPSHOT
    jar
    
        com.sdyy
        bdf_parent
        4.0-SNAPSHOT
        ../pom.xml
    
    
        UTF-8
        3.2.9.RELEASE
        2.4.4
        1.8
    
    
        
            io.zipkin.java
            zipkin-server
            2.10.0
        
        
            io.zipkin.java
            zipkin-autoconfigure-ui
            2.10.0
        
        
        
        
            io.zipkin.java
            zipkin-autoconfigure-collector-kafka
            2.11.4
        
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR2
                pom
                import
            
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
    

        
            aliyun-repos
            Aliyun Repository
            http://maven.aliyun.com/nexus/content/groups/public
            
                true
            
            
                false
            
        


    

    

        
            aliyun-repos
            Aliyun Repository
            http://maven.aliyun.com/nexus/content/groups/public
            
                true
            
            
                false
            
        

    


2、例子(客户端)

config

#zipkin配置
spring.zipkin.base-url=http://10.9.44.16:9001/
spring.sleuth.sampler.percentage=1
#spring.zipkin.sender.type=web
spring.sleuth.web.client.enabled=true
spring.sleuth.sampler.probability=1

pom

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-sleuth</artifactId>
<!--			<version>2.1.0.RELEASE</version>-->
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<!--			<version>2.1.0.RELEASE</version>-->
		</dependency>

https://www.cnblogs.com/xiangkejin/archive/2018/05/16/9046238.html

你可能感兴趣的:(springCould)