学习笔记:微服务-23 调用链路监控spring cloud zikpin+kafka+mysql

CAS统一登录认证(1):系统安装 这一周在研究cas统一登录认证系统,参考网上大量文章,基本调试可用了,做个笔记。 安装环境:ubuntu16.04  +  mysql5.7.23 + java1.8.0_181 + maven3.5.4 + tomcat8.5.32 + cas5.3.2 1.下载软件: jdk-8u181-linux-x64.tar.gz apache-tomcat-8.5.32.tar.gz apach... 阅读详情

微服务多了,A服务调用B服务,B服务调用C服务,关系的追踪,检查各环节耗时等就显得重要,spring cloud zikpin 就为此而生

借用一张图理解

多个微服务把追踪信息发给kafka,zipkin获取kafka管道信息,ui展示给浏览器,并把获取的信息保存到mysql持久化。

一、zipkin server安装配置

1. 获取服务打包的可执行jar文件

代码及配置参见网址 :https://github.com/openzipkin/zipkin

因为zipkin 在新版本不再建议用户自己编译配置,提供一个直接生成并下载jar文件的方式

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

执行后可以看到目录下有了文件 zikpin.jar

$ java -jar zipkin.jar

即可在浏览器查看服务,默认是9411端口

是不是很简单。

2. 因为需要使用kafka,先启动kafka,如何安装kafka见我的另外文章。

cd  kafka_2.12-2.1.0

bin/zookeeper-server-start.sh config/zookeeper.properties &

bin/kafka-server-start.sh config/server.properties &

3.创建数据库和表

方法参见官方github网址:https://github.com/openzipkin/zipkin/tree/master/zipkin-storage/mysql-v1

[root@centos7 ~]# mysql -uroot -p -e "SET GLOBAL innodb_file_format=Barracuda"
[root@centos7 ~]# mysql -uroot -p -e "show global variables like 'innodb_file_format'"
[root@centos7 ~]# mysql -uroot -p -e "create database if not exists zipkin"
下载 https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql
[root@centos7 ~]# mysql -uroot -p  -Dzipkin < mysql.sql

创建后进入mysql可以看到如下表。

MariaDB [zipkin]> show tables;
+---------------------+
| Tables_in_zipkin    |
+---------------------+
| zipkin_annotations  |
| zipkin_dependencies |
| zipkin_spans        |
+---------------------+
4. 在做好以上准备后,重新运行 zikpin.jar, 带上环境变量

$KAFKA_BOOTSTRAP_SERVERS=127.0.0.1:9092  STORAGE_TYPE=mysql MYSQL_USER=root MYSQL_PASS=123  java -jar zipkin.jar

需要指定其他环境变量参见官网,比如mysql的详细配置

* `MYSQL_DB`: The database to use. Defaults to "zipkin".
* `MYSQL_USER` and `MYSQL_PASS`: MySQL authentication, which defaults to empty string.
* `MYSQL_HOST`: Defaults to localhost
* `MYSQL_TCP_PORT`: Defaults to 3306
* `MYSQL_MAX_CONNECTIONS`: Maximum concurrent connections, defaults to 10
* `MYSQL_USE_SSL`: Requires `javax.net.ssl.trustStore` and `javax.net.ssl.trustStorePassword`, defaults to false.

二、被监控微服务配置 (zikpin client)

1. pom.xml 加入:

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

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>

2. application.properties 增加

spring.zipkin.enabled=true  
spring.zipkin.sender.type=kafka
spring.kafka.bootstrap-servers=centos7.linbsoft.com:9092
spring.zipkin.base-url=http://centos7.linbsoft.com:8441
spring.sleuth.sampler.probability=1.0    

其中 spring.sleuth.sampler.probability=1.0 表示监控100%的调用,实际应用应该小一点,比如 0.1 表示10%的调用会被监控,实际使用100%可能会把mysql挤破了。

客户端微服务修改后重启即可。

三、测试

1. kafka查看topic

 bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list

可以看到有个zipkin名字的topic

2.启动一个kafka消费者监控信息

bin/kafka-console-consumer.sh --bootstrap-server centos7.linbsoft.com:9092 --topic zipkin --from-beginning

3. 浏览器 调用zikpin-client微服务(即按上面二中安装配置了的微服务)

4.再在浏览器中监控zikpin服务器

可以看到有数据了

5. 查看某条记录的依赖图,可以看到微服务间调用关系

6.查看上面2中的kafka的监控窗口

7.查看数据库

 

grpc-go源码剖析六十一之假设在一条调用链上,存在多个grpc服务的调用,如A服务调用B服务调用C服务,那么他们的超时时间如何? 要解决的场景是: 假设存在一条调用链,如A服务调用B服务,B服务调用C服务,并且通过A服务设置了Deadline时间。 当客户端A服务设置了Deadline后,通过头帧将超时时间传递给了服务B, 然后服务B,又将超时时间传递给了服务C。 那么服务B,C实际允许运行的时间并不是客户端A设置的超时时间。 也就是说,这条调用链上的服务共享超时时间,或者,允许这条调用链运行的时间,就是客户端A设置的超时时间。 服务B运行的时间长了,那么留给服务C运行的时间就少了,超时后,会报context deadline ex 阅读详情

相关推荐

zikpin2.12.2版本

zikpin server版本和运行代码

spring cloud分布式引入zikpin链路跟踪

背景:为什么要引入zikpin链路跟踪呢?是因为我们在调用后台接口的时候,发现有很多连接超时,以及接口响应过长等等问题。链路跟踪可以将请求的每个 沿途 像一条链一样串起来,并展示 1. 首先下载zipkin-server-2.12.9-exec.jar ,这个jar可就是spring boot项目内置tomcat,直接java -jarzipkin-server-2.12.9-exe...

lvhao2813的博客 1325

runZipKin.bat

这个脚本是用来启动zikpin在windows的环境上面,主要是用来简化命令,一键启动。方便。希望大家踊跃下载,多多支持

SpringCloud Sleuth + Zikpin安装教程

SpringCloud Sleuth + Zipkin安装教程 1. 如下地址令可下载最新版本。 访问如下地址即可: https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec 下载下来的文件名为 zipkin-server-2.21.4-exec.jar 启动Zipkin Server 使用如下命令,即可启动Zipkin Server java -jar 你的ja

huaishuming的专栏 761

zipkin+dubbo整合示例

这两天看了好几篇帖子,写zipkin与dubbo整合的内容都不全面,忍不住亲自上手码一遍。利用zipkin可以对dubbo进行调用链监控,可以查到调用链中的dubbo服务的性能,并且dubbo提供了SPI的接口,能很容易完成并自定义相应的filter去监控dubbo服务。

zipkin-server-2.6.1-exec.jar

用于springcloud2.0监听各服务日志详情 通过java -jar的形式启动zikpin服务

Springcloud----sleuth+zipkin链路追踪

主要功能就是在分布式系统中提供追踪解决方案。它大量借用了GoogleDapper的设计, 先来了解一下Sleuth中的术语和相关概念。Trace(一条完整链路--包含很多span(微服务接口))由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。为了实现请求跟踪,当请求到达分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯一的标识(即TraceId),同时在分布式系统内部流转的时候,框架始终保持传递该唯一值,直到整个请求的返回。

lrs998563的博客 947

VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存

本文详细解析了在VS2015+C++环境下,利用海康威视MVS工业相机SDK实现多相机同步采图与保存的全流程。从环境准备、SDK选择到多相机初始化、同步采图方案,再到异常处理与性能优化,提供了实战技巧和代码示例,帮助开发者快速掌握工业相机二次开发的核心技术。

weixin_29170327的博客 280

spring cloud 调用链追踪:集成 Sleuth 和 Zipkin,实现链路打标

spring cloud 调用链追踪

sumguo10qq的博客 913

实现单芯片2400bps 音频编解码方案

终于按照朋友的需求,帮他开发了一款单芯片集音频采集编码传送并接收解码播放功能的方案,交给快递公司邮寄给远在郑州的他.整个项目从开始定型到现在一个样机送出,整整花了1个月时间,感觉挺有成就感,挺有意思,工作是辛苦的,结果却是快乐的.现在将这中快乐的的心情与大家分享一下.    真个项目用一颗主控搞定,ARM9的,200KBytes 片内RAM,主频可以跑到300MHz,64pin LQFP封装

nyxsec的专栏 3682

TOPCon vs PERC:2024年光伏电站投资,哪种技术更划算?

本文深入分析了2024年光伏电站投资中TOPCon与PERC技术的财务表现。通过对比初始系统成本、全生命周期发电量及环境适应性,指出当前TOPCon组件与PERC价差已显著缩小,其更高的转换效率和更低的衰减率能有效降低度电成本并提升项目内部收益率,为投资者提供更具长期价值的方案。

p5l2m9n4o6q的博客 266

SpringCloud实战之路 | 应用篇(八)分布式链路追踪技术Spring Cloud Sleuth + Zipkin

通过上面的操作可以完成Sleuth + Zipkin基本搭建,由于链路追踪的信息是存储在内存当中的,所以当对服务端进行重启后会导致之前的链路追踪的数据丢失,为此Zipkin提供了两种持久化方式,持久化到mysql或elasticsearch当中;可以追踪服务之间的调用,Sleuth可以记录一个服务请求经过哪些服务、服务处理时间等,根据这些,我们能够理清各微服务间的调用关系及进行问题追踪分析(本质就是通过记录日志的方式来记录踪迹数据的)为分布式链路调用监控系统,可以对链路踪迹的数据进行展示和存储。

零一的博客 710

空频、空时、空域、时域、频域抗干扰介绍

1、时域抗干扰:对时间域序列进行滤波,滤波系数h(n),采样序列不断进行输入与滤波系数卷积计算,得到响应输出;例如常用的FIR和IIR滤波器。 对于多窄带干扰噪声源和连续波干扰源有较好的处理效果,还可以解决多径问题; 可以通过在接收机前端处理中增加一个嵌入式块实现; 2、频域抗干扰:接收机不容易受到相对于接收机频带以外的强功率干扰; 通常为带通滤波和阻带滤波, 适用于窄带干扰噪声源,连续波干扰源以及较强的频带外干扰噪声源, 3、空域抗干扰:通过多个自适应天线按照特定组合成天线阵列,波束成形,针对

qq_43517907的博客 7305

zipkin日志采样率问题反思

zikpin日志采样率设置为0.1,就是10次只能有一次被记录下来。当时看到这个问题很郁闷,那9次的请求咋办,日志不完整怎么排查错误呢? 后来才明白,日志其实是完整的,日志可以用logback收集并保存成文件。所有的请求信息 都会被这个文件所记录,只是zikpin侧重于链路追踪,并不是排查错误,更多的是我们知道服务直接调用耗时和服务直接依赖关系而已。所以不需要完整日志,只需要0.1比例就够了。而 sleuth: sampler: probability: 0.1 这个采样其实只是对zip

weixin_42935902的博客 908

编码约定的自由度:重新思考Hamming码在实际工程中的灵活应用

本文探讨Hamming码在实际工程中的灵活应用,突破标准实现的思维定式。通过分析不同编码约定的优缺点和资源受限环境下的设计权衡,展示如何根据嵌入式系统、通信协议等具体需求定制汉明码实现,优化编解码效率并降低硬件开销。

perl8的博客 178

ZYQN7000系列VxWorks驱动开发:VxWorks系统移植

文章目录ZYQN7000驱动开发:VxWorks系统移植1.硬件环境2.编译vsb和vip工程2.1修改设备树文件2.2添加调试打印组件3.选择uboot来启动VxWorks内核4.尝试在开发板上启动内核4.1 拷贝镜像和设备树至SD卡4.2开发板上电4.2.1 uboot成功启动4.2.2 启动VxWorks5.添加shell和cmd组件 ZYQN7000驱动开发:VxWorks系统移植 1.硬件环境 正点原子领航者开发板 2.编译vsb和vip工程 vsb和vip工程的编译过程可以参考之前的文章,htt

明故宫的记忆 5505

八、Sleuth

一、简介 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,为微服务提供链路跟踪的机制,可以监控微服务之间的调用。 二、搭建zipkin服务监控端 zikpin服务jar包下载地址_____https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-serve...

墨渐生微的博客 528

避坑指南:ZYNQ MPSOC QSPI固化时MT25QU256闪存的特殊配置

本文针对Xilinx ZYNQ UltraScale+ MPSoC平台,详细解析了使用Vitis工具将BOOT.bin固化至Micron MT25QU256ABA QSPI NOR Flash时的特殊配置与避坑指南。重点阐述了Init文件的真实作用、电压与频率的精确匹配策略,以及针对该闪存型号的初始化序列,帮助工程师解决烧录失败、启动异常等常见问题,确保系统可靠启动。

weixin_29175469的博客 270

SpringCloud 基础教程(十二)-Zipkin 分布式链路追踪系统搭建

 我的博客:程序员笑笑生,欢迎浏览博客!  上一章 SpringCloud 基础教程(十一)-Sleuth 调用链追踪简介当中,我们将介绍了Spring Cloud Sleuth在分布式环境中实现了调用链路信息的打印,本章将在此基础之上结合Zikpin搭建完整的实时数据追踪系统。 前言  Zipkin是一款分布式追踪系统,是用来收集并诊断微服务体系中系统延时问题,主要...

qq_39922158的博客 1256

【Basis】Lumerical licence center 无法连接的问题

端口,我们需要确认该端口是否被其他程序占用。这里我们将介绍如何处理这一问题。后,今天电脑更新后我无法打开。终结占用该端口的程序后再次打开。

u011699626的博客 314

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Zipkin分布式任务追踪

Zipkin分布式任务追踪zipkin简介Zipkin 是一款开源的分布式实时数据追踪系统,由基于 Google Dapper 的论文设计而来,由 Twitter 公司提供开源实现,主要功能是聚集来自各个异构系统的实时监控数据,和微服务架构下的接口直接的调用链路和系统延时问题。Zipkin 提供了自己的UI,应用将自己的监控数据报告给zipkin,由Zipkin 汇集并提供关联图展示,Zipkin可

weiker12的专栏 8353

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Zipkin安装与初识

Zipkin Zipkin是一个分布式跟踪系统。它有助于收集用于解决微服务架构中的延迟问题所需的时序数据。它管理数据的收集和查找。Zipkin的设计是基于Google Dapper paper。 应用程序被用来向Zipkin报告定时数据。ZIPKIN UI还提供了一个依赖关系图,显示了多少跟踪请求遍历每个应用程序。如果您正在排除延迟问题或错误,可以根据应用程序、跟踪长度、注...

小小码农 9455

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

zipkin

zipkinzipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。architecture 如图,在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢? 日志: 通过分析调用链路上的每个服务日志得到结果 zipkin:使用zipkin的web UI可以一眼看出延迟高的服务 如图所示,各业务系统在彼此调用时,将特定的跟踪消息传递至zipkin,

liaokailin的专栏 7万+

springboot -dubbo-ssm的最新开源商城,分销商城

springcloud 多商户商城 下载https://gitee.com/catshen/zscat_sw pc+h5 +小程序 +app uniapp集成 分销商城 积分商城 最新全部开源springboot -dubbo-ssm的最新开源商城 技术选型 1、后端 核心框架:Spring Framework 4.0,kafka redis,mongodb,st...

a1439226817的博客 1万+

ZipKin原理学习--ZipKin入门介绍

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东...

井底之蛙 5万+
上一篇: 学习笔记:微服务-22 spring cloud config+kafka+spring cloud bus 消息总线实现配置自动更新
下一篇: 学习笔记:微服务-24 spring boot WebFlux初探-响应式非阻塞web框架
领尚
博客等级 码龄14年 1143粉丝 271原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值