Zipkin 分布式链路监控与追踪搭建及日志持久化

举报
程序员-上善若水 发表于 2022/06/24 22:06:11 2022/06/24
【摘要】 Zipkin 分布式链路监控与追踪 一、分布式链路监控与追踪产生背景 在微服务系统中,随着业务的发展,系统会变得越来越大,那么各个服务之间的调用关系也就变得越来越复杂。一个 HTTP 请求会调用多个不...

Zipkin 分布式链路监控与追踪

一、分布式链路监控与追踪产生背景

微服务系统中,随着业务的发展,系统会变得越来越大,那么各个服务之间的调用关系也就变得越来越复杂。一个 HTTP 请求会调用多个不同的微服务来处理返回最后的结果,在这个调用过程中,可能会因为某个服务出现网络延迟过高或发送错误导致请求失败,这个时候,对请求调用的监控就显得尤为重要了。Spring Cloud Sleuth 提供了分布式服务链路监控的解决方案。

二、SpringCloud Zipkin 与Sleuth

Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。每个服务向zipkin报告计时数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。zipkin会根据调用关系通过Zipkin UI生成依赖关系图。

Spring Cloud Sleuth为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。此外Sleuth可以帮助我们:

  1. 耗时分析: 通过Sleuth可以很方便的了解到每个采样请求的耗时,从而分析出哪些服务调用比较耗时;
  2. 视化错误: 对于程序未捕捉的异常,可以通过集成Zipkin服务界面上看到;
  3. 链路优化: 对于调用比较频繁的服务,可以针对这些服务实施一些优化措施。
  4. Spring Cloud Sleuth可以结合Zipkin,将信息发送到Zipkin,利用Zipkin的存储来存储信息,利用Zipkin Ui来展示数据。

三、搭建Zipkin服务追踪系统

官方已经提供了提供了编译好的 jar 包,可以在官网下载:

https://zipkin.io/pages/quickstart.html

启动:
默认端口号; 9411:

java –jar zipkin.jar

  
 
  • 1

打开浏览器输入:

http://localhost:9411

  
 
  • 1

在这里插入图片描述

三、SpringCloud 加入追踪

在springcloud中加入Zipkin服务追踪是非常简单的。在服务的提供者个消费者加入下面配置。

1. pom

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

  
 
  • 1
  • 2
  • 3
  • 4

2. application.properties

spring.zipkin.base-url= http://192.168.2.126:9411/
spring.sleuth.sampler.probability=1.0  #代表所有信息,都收集

  
 
  • 1
  • 2

下面使用RestTemplate或Feign 调用服务的时候,会自动加入zipkin的追踪。
可以在上面那个网站看到服务调用的详情:

http://localhost:9411

在这里插入图片描述

四、持久化日志

上面的日志是存在内存中的,如果关闭zipkin,日志就消失了,但zipkin提供了持久化方案,存在es或mysql中,当然这里存在es中比较合适,效率也比较高。

存在es中的配置也很简单,只需启动时指定es地址。
启动zipkin:

java -jar zipkin-server-2.11.8-exec.jar --STORAGE_TYPE=elasticsearch --ES_HOSTS=http://127.0.0.1:9200

  
 
  • 1

然后访问服务产生一些日志:

在这里插入图片描述

使用kibana查看ES中的日志:

GET zipkin:span-2020-08-06/_search

  
 
  • 1

在这里插入图片描述

文章来源: blog.csdn.net,作者:小毕超,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_43692950/article/details/107837608

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。