在springcloud工程中添加链路跟踪,提高运维能力

首先说下整体逻辑,springcloud中提供了sleuth作为链路跟踪框架,能够很好的和zipkin结合。服务中集成zipkin后,会生成相应的traceId和spanId, traceId和spanId根据请求链路传到相应的微服务中,保持一个请求的整个traceId一致,这样在服务日志分散在各处的微服务系统中查询问题日志比较简单。Zipkin会将trace消息通过http、mq、kafka等形式发送给zipkin服务器,zipkin服务器可以将消息存储在服务器本地、es、mysql、Cassandra等存储器中。通过zipkin服务的页面可以查看到相应的请求链路、耗时等信息

样图:

  • 配置客户端

每个微服务都需要添加如下信息

  1. 添加maven依赖

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

zipkin-starter 中包含spring-cloud-starter-sleuth和spring-cloud-sleuth-zipkin,所以不用单独添加sleuth

  1. 配置文件中添加相应配置
spring:application:   name: server-zipkin-01sleuth:#监控开关enabled: true#采样率sampler:percentage: 1.0#kafka配置kafka:bootstrap-servers: 172.22.3.11:9091,172.22.3.11:9092,172.22.3.11:9093

spring.sleuth.enabled=true 打开链路跟踪功能

spring.sleuth.sampler.percentage-1.0 采样率为100%

spring.kafka.bootstrap-servers=… kafka集群的zookeeper地址

  • 配置服务端

Zipkin官网:https://zipkin.io/

下载zipkin.jar

curl -sSL https://zipkin.io/quickstart.sh | bash -s

java -jar zipkin.jar

通过java –jar 启动。

java -DCOLLECTOR_KAFKA_ENABLED=true -DKAFKA_BOOTSTRAP_SERVERS=172.22.3.11:9091,172.22.3.11:9092,172.22.3.11:9093 -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://172.19.135.222:9200/ -DES_INDEX=zipkin -jar zipkin.jar

COLLECTOR_KAFKA_ENABLED是否启用kafka接收消息

KAFKA_BOOTSTRAP_SERVERS kafka集群的zookeeper地址

STORAGE_TYPE 存储数据源仓库类型

ES_HOSTS  es地址

启动的时候可以带入相应参数,其中参数定义可以参考jar包里的配置文件

此文省略kafka、es的搭建

springcloud1.5.9+zipkin链路跟踪配置相关推荐

  1. ASP.NET Core整合Zipkin链路跟踪

    前言 在日常使用ASP.NET Core的开发或学习中,如果有需要使用链路跟踪系统,大多数情况下会优先选择SkyAPM.我们之前也说过SkyAPM设计确实比较优秀,巧妙的利用DiagnosticSou ...

  2. kong插件应用(熔断 限流,黑白名单,认证(basic,key,jwt,hmac,),授权,加密,zipkin链路跟踪,日志, prometheus可视化, 爬虫控制插件)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 kong安装部署以及kong-dashboard参考:https://blog.csdn.net/luanpeng825485697/article/ ...

  3. Spring Cloud--Sleuth+Zipkin 链路跟踪/订单的流量削峰

    Sleuth 产生链路跟踪日志 A --> B --> C A的id会被当做整条链路的id 默认只有10%的日志会发到Zipkin A, USFHSAJFGVDMJ, USFHSAJFGV ...

  4. Spring Cloud Sleuth+Zipkin 构建微服务链路跟踪系统

    什么是链路跟踪系统? 在微服务中,多个服务分布在不同物理机器上,各个服务之间相互调用.如何清晰地记录服务调用过程,并在出现问题的时候能够通过查看日志和服务之间的调用关系来定位问题,这样的系统就叫做链路 ...

  5. SpringCloud微服务架构,Config 分布式配置中心,Bus 消息总线, Stream 消息驱动,Sleuth+Zipkin 链路追踪

    Config分布式配置中心 Config 概述 概述 • Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护. • 好处: • 集中管理配置文件 • 不同环境不同配 ...

  6. 使用zipKin构建NetCore分布式链路跟踪

    本文主要讲解使用ZipKin构建NetCore分布式链路跟踪 场景 因为最近公司业务量增加,而项目也需要增大部署数量,K8S中Pod基本都扩容了一倍,新增了若干物理机,部分物理机网络通信存在问题,导致 ...

  7. spring cloud分布式整合zipkin的链路跟踪

    为什么使用zipkin? 上篇主要写了:spring cloud分布式日志链路跟踪 从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐.复杂,而且在查看调用的时候也会像 ...

  8. 服务链路追踪配置mysql_学习微服务的服务链路追踪——Spring Cloud Sleuth+zipkin

    spring cloud sleuth提供了服务链路追踪,并兼容了zipkin,Zipkin是一个链路跟踪工具,可以用来监控微服务集群中调用链路的通畅情况. 1.本来想新建一个有关zipkin-ser ...

  9. Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

    2019独角兽企业重金招聘Python工程师标准>>> 随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑:一个请求可 ...

最新文章

  1. python2x NameError: name ‘abc‘ is not defined
  2. 单片机学习从入门到入土?这3个关键点导致!
  3. Git 配置命令设置
  4. 解读Cardinality Estimation算法(第二部分:Linear Counting)
  5. 100%你没见过的魔兽表情包,拿去!再扯情怀已俗!
  6. mysql 导入sql文件,source命令
  7. Java 方法使用总结(重载、数组输出、enum和switch、foreach和迭代器、可变长度参数、重载中使用可变长度参数)
  8. 专用工业接口电缆行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. FRR的ATOMIC 利用GCC的实现
  10. 服务器修改ip socket,socket不能选择本地IP连接的解决方法
  11. html去除分页符,分页符怎么删除 删除分页符的两种方法
  12. python tokenize()_tokenize- 用于Python源代码的Python – Python语言服务(Python教程)(参考资料)...
  13. ROS 接口调参 加载参数 动态参数 从NodeHandle中加载参数
  14. 雅思机考经验和考试内容(上海机考中心20191208)
  15. 《社交媒体大数据分析——理解并影响消费者行为》一第1章 市场营销
  16. SAP 邮件发送记录查询
  17. 4.2.3 编程题《将一笔钱换算成1分、2分和5分的硬币组合》
  18. 越来越「保守」的索尼,还能满足下一代玩家吗?
  19. 太极链_区块链将成为保险行业的新环境
  20. 获取马蜂窝酒店数据(_sn)

热门文章

  1. 成本中心和内部订单浅析
  2. 据说是Jack Wu的自定义函数!烂
  3. SAP企业解决方案SAP Business One敏捷系列—敏捷制造
  4. 良品铺子,互联网经济下的“两元店”
  5. php 数组转为json,php怎么将数组数组转化为json格式的数据 ?
  6. php exec多条命令怎么拼接_PHP--手摸手,教你撸一个会自动补全的命令行工具1
  7. 软件测试功能报告,软件功能测试报告
  8. python反编译工具uncompyle的安装与用法
  9. Python 的类其实是一个特殊的对象
  10. Python 直接赋值、浅拷贝和深度拷贝区别