zoukankan      html  css  js  c++  java
  • spring cloud分布式整合zipkin的链路跟踪

    为什么使用zipkin?

    上篇主要写了:spring cloud分布式日志链路跟踪

    从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐、复杂,而且在查看调用的时候也会像蜘蛛网一样,量太大。

    这时候zipkin可以把链路调用整个过程给升级起来,只需要到一个地方去查找,就可以知道哪一步出错。

    zipkin也分为服务器和客户端,服务器就是zipkin,微服务就是客户端。

     首先,建立服务器zipkin

    在此服务build.gradle加上zipkin的依赖:

        compile 'io.zipkin.java:zipkin-server'
        compile 'io.zipkin.java:zipkin-autoconfigure-ui'

    这里可以看到它不是属于spring中的

    在application.yml配置中:

    server:
      port: 9999
    spring:
      application:
        name: zipkin-server #注册到注册中心的名字,可以映射ip

    配置文件非常简单

    启动类:

    @EnableZipkinServer //表示Zipkin是服务器
    @SpringBootApplication
    public class ZipkinServerProdiver {
        public static void main(String[] args) {
            SpringApplication.run(ZipkinServerProdiver.class,args);
        }
    }

    接着在对于zipkin服务器的客户端build.gradle中加上依赖:

     //表示zipkin的客户端
        compile group: 'org.springframework.cloud', name: 'spring-cloud-sleuth-zipkin'

    这里用到那几个zipkin的客户端就在里面加入依赖

    当然在客户端配置文件application.yml中,也要加入zipkin的配置:

    spring:
      zipkin:
        base-url: http://localhost:9999 #代表字zipkin服务器地址
      sleuth:
        sampler:
          percentage: 1.0 #0.1-1.0 也就是代表链路跟踪的数据上传的概率有多大

    启动zipkin服务器:http://localhost:9999

    看到这样就证明启动成功啦

    下面启动项目,执行微服务之间的调用,并刷新zipkin服务器:

    这里可以看到我执行了4次,出现了4个链路,我是根据时间来查找的,也可以根据控制台或日志中的链路编码来查找:

    我在控制台随便拿一个进行查找:

    可以看到查找到了

    zipkin也有链路分析:

    它也可以时间和链路编码来查找,这样我们想查找哪一时间段的或精准到哪一条就非常方便了

    如果看不懂的小伙伴请参考我前面的博客进行浏览,或许就茅塞顿开啦!

  • 相关阅读:
    linux学习-----项目上线步骤
    linux学习-----数据库MySQL
    linux学习-----shell基础
    linux学习-----网络基础,网络相关命令,项目上线流程
    linux学习-----linux权限,sudo的使用
    linux学习-----开机启动项设置,ntp服务,防火墙服务,rpm服务,cron服务
    linux学习-----用户,用户组管理 网络设置 ssh服务
    linux学习-----vim编辑器的使用
    linux学习-----指令学习2 及练习
    linux学习-----指令学习1
  • 原文地址:https://www.cnblogs.com/itgaofei/p/9353054.html
Copyright © 2011-2022 走看看