跟我学Spring Cloud(Finchley版)-25-Sp

作者: 周立_itmuch | 来源:发表于2019-04-01 13:46 被阅读26次

    一个良好的监控,应该有一个人类亲和的界面,这个界面就是Zipkin。本文详细讨论Sleuth如何与Zipkin配合使用。

    Zipin简介

    Zipkin是Twitter开源的分布式跟踪系统,基于Dapper的论文设计而来。它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。Zipkin还提供了一个非常友好的界面,帮助我们分析追踪数据。

    TIPS

    Zipkin官方网站:http://zipkin.io/

    Zipkin Server搭建

    Zipkin UI

    Zipkin UI首页:

    Zipkin首页

    简单讲解图中各个查询条件的含义:

    ① Service Name表示服务名称,也就是各个微服务spring.application.name的值。

    ② 第二列表示span的名称,“all”表示所有span,也可选择指定span。

    ③ Lookback用于执行想要查看的之间段。

    ④ Duration表示持续时间,即span从创建到关闭所经历的时间。

    ⑤ Limit表示查询几条数据。类似于MySQL数据库中的limit关键词。

    ⑥ Annotations Query,用于自定义查询条件。

    微服务整合Zipkin

    跟我学Spring Cloud(Finchley版)-24-Spring Cloud Sleuth入门 的基础上:

    • 加依赖

      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-sleuth-zipkin</artifactId>
      </dependency>
      
    • 加配置

      spring:
        zipkin:
          base-url: http://localhost:9411
        sleuth:
          sampler:
            # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
            probability: 1.0
      

    测试

    • 启动微服务,访问http://localhost:8000/users/1

    • 观察http://localhost:9411 ,可看到类似如下界面:

      Zipkin首页2
    • 点击上图中标注的3,可看到类似如下的界面:

      Zipkin分析详情

      如图,已经展示了该次请求的耗时。如果你有多个应用,Zipkin将会展示每个应用消耗了多少时间,蓝色表示请求正常,红色表示请求失败。

    配套代码

    本文首发

    http://www.itmuch.com/spring-cloud/finchley-25/

    干货分享

    全是干货!

    相关文章

      网友评论

        本文标题:跟我学Spring Cloud(Finchley版)-25-Sp

        本文链接:https://www.haomeiwen.com/subject/pgcvbqtx.html