SpringCloud可视化链路追踪系统Zipkin部署过程
1.前提
已经配置Sleuth,可参考
https://www.jb51.net/article/182889.htm
2.什么是Zipkin?
官网:https://zipkin.io/
大规模分布式系统的APM工具( Application Performance Management),基于 Google
Dapper的基础实现,和 sleuth结合可以提供可视化web界面分析调用链路耗时情况
同类产品
- 鹰眼( Eag leYe)
- CAT
- twitter开源 zipkin,结合 sleuth
- Pinpoint,运用 JavaAgent字节码增强技术
- StackDriver Trace (Google)
3.zipkin组成: Collector、 Storage、 Restful APi.、Web UI组成
4.下载最新版Zipkin服务jar包,并启动
https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.20.2/zipkin-server-2.20.2-exec.jar
或者
https://zipkin.io/pages/quickstart.html-> 找到 “latest release” -> 点击后下载
问题:
这里我使用最新版的jar能启动,但是Zipkin界面却获取不到数据,所以我下载了旧版本:zipkin-server-2.10.4-exec.jar
部分版本下载地址:
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
测试版本
SpringBoot版本:2.1.3.RELEASE
SpringCloud版本:Greenwich.SR1
Zipkin版本:zipkin-server-2.10.4-exec.jar
启动:
打开cmd,启动jar包
5.访问地址
注意:
Zipkin的数据默认是存储在内存的,每次重启jar服务后,都会删除旧的
5.添加依赖
Zipkin依赖包含Sleuth依赖
<!-- Sleuth,zipkin --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
6.修改application.yml配置
spring:
application:
name: order-service
#zipikin服务所在地址
zipkin:
base-url: http://localhost:9411/
#配置采样百分比,开发环境可以设置为1,表示全部,生产环境用默认
sleuth:
sampler:
probability: 1
7.多次访问接口,会以10%的概率抽取接口数据显示在界面
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
SpringCloud Zuul过滤器和谷歌Gauva实现限流
前提: 已经配置Zuul网关 参考: https://www.jb51.net/article/182894.htm 限流方式: 1)nginx层限流 2)网关层限流 1.添加限流过滤器 import com.alibaba.fastjson.JSON; import com.google.common.util.concurrent.RateLimiter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.
-
SpringCloud Zuul网关功能实现解析
简介 API Gateway,时系统的唯一对外的入口,介于客户端和服务端之间的中间层,处理非业务功能, 提供路由请求,鉴权,监控,缓存,限流等功能 统一接入 智能路由 AB测试.灰度测试 负载均衡.容灾处理 日志埋点(类似 Nignx日志) 流量监控 限流处理 服务降级 安全防护 鉴权处理 监控 机器网终隔离 1.添加依赖 注意SpringBoot和SpringCloud版本兼容 <dependency> <groupId>org.springframework.cloud<
-
spring cloud gateway 限流的实现与原理
在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击. 常见的限流方式,比如Hystrix适用线程池隔离,超过线程池的负载,走熔断的逻辑.在一般应用服务器中,比如tomcat容器也是通过限制它的线程数来控制并发的:也有通过时间窗口的平均速度来控制流量.常见的限流纬度有比如通过Ip来限流.通过uri来限流.通过用户访问频次来限流. 一般限流都是在网关这一层做,比如Nginx.Openresty.kong.zuul.Spring
-
Spring Cloud Alibaba使用Sentinel实现接口限流
最近管点闲事浪费了不少时间,感谢网友 libinwalan 的留言提醒.及时纠正路线,继续跟大家一起学习Spring Cloud Alibaba. Nacos作为注册中心和配置中心的基础教程,到这里先告一段落,后续与其他结合的内容等讲到的时候再一起拿出来说,不然内容会有点跳跃.接下来我们就来一起学习一下Spring Cloud Alibaba下的另外一个重要组件:Sentinel. Sentinel是什么 Sentinel的官方标题是:分布式系统的流量防卫兵.从名字上来看,很容易就能猜到它是用来
-
SpringCloud链路追踪组件Sleuth配置方法解析
1.官方文档 https://spring.io/projects/spring-cloud-sleuth 什么是Sleuth? 一个组件,专门用于追踪每个请求的完整调用链路 最主要功能? 做日志埋点 2.添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </d
-
详解Spring Cloud Gateway 限流操作
开发高并发系统时有三把利器用来保护系统:缓存.降级和限流. API网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性. 常用的限流算法比如有令牌桶算法,漏桶算法,计数器算法等. 在Zuul中我们可以自己去实现限流的功能 (Zuul中如何限流在我的书 <Spring Cloud微服务-全栈技术与案例解析> 中有详细讲解) ,Spring Cloud Gateway的出现本身就是用来替代Zuul的. 要想替代那肯定得有强大的功能,除了性能上的优势之外,Spr
-
spring cloud gateway整合sentinel实现网关限流
这篇文章主要介绍了spring cloud gateway整合sentinel实现网关限流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 说明: sentinel可以作为各微服务的限流,也可以作为gateway网关的限流组件. spring cloud gateway有限流功能,但此处用sentinel来作为替待. 说明:sentinel流控可以放在gateway网关端,也可以放在各微服务端. 1,以父工程为基础,创建子工程 2,添加pom依赖
-
SpringCloud可视化链路追踪系统Zipkin部署过程
1.前提 已经配置Sleuth,可参考 https://www.jb51.net/article/182889.htm 2.什么是Zipkin? 官网:https://zipkin.io/ 大规模分布式系统的APM工具( Application Performance Management),基于 Google Dapper的基础实现,和 sleuth结合可以提供可视化web界面分析调用链路耗时情况 同类产品 鹰眼( Eag leYe) CAT twitter开源 zipkin,结合 sleut
-
.NET Core分布式链路追踪框架的基本实现原理
分布式追踪 什么是分布式追踪 分布式系统 当我们使用 Google 或者 百度搜索时,查询服务会将关键字分发到多台查询服务器,每台服务器在自己的索引范围内进行搜索,搜索引擎可以在短时间内获得大量准确的搜索结果:同时,根据关键字,广告子系统会推送合适的相关广告,还会从竞价排名子系统获得网站权重.通常一个搜索可能需要成千上万台服务器参与,需要经过许多不同的系统提供服务. 多台计算机通过网络组成了一个庞大的系统,这个系统即是分布式系统. 在微服务或者云原生开发中,一般认为分布式系统是通过各种中间件/服
-
.NET Core分布式链路追踪框架的基本实现原理
目录 分布式追踪 什么是分布式追踪 分布式系统 分布式追踪 分布式追踪有什么用呢 Dapper 分布式追踪系统的实现 跟踪树和 span Jaeger 和 OpenTracing OpenTracing Jaeger 结构 OpenTracing 数据模型 Span 格式 Trace Span OpenTracing API 分布式追踪 什么是分布式追踪 分布式系统 当我们使用 Google 或者 百度搜索时,查询服务会将关键字分发到多台查询服务器,每台服务器在自己的索引范围内进行搜索,搜索引擎
-
Jaeger Client Go入门并实现链路追踪
目录 Jaeger 部署 Jaeger 从示例了解 Jaeger Client Go 了解 trace.span tracer 配置 Sampler 配置 Reporter 配置 分布式系统与span 怎么调.怎么传 HTTP,跨进程追踪 客户端 Web 服务端 Tag . Log 和 Ref Jaeger OpenTracing 是开放式分布式追踪规范,OpenTracing API 是一致,可表达,与供应商无关的API,用于分布式跟踪和上下文传播. OpenTracing 的客户端库以及规范
-
Jaeger Client Go入门并实现链路追踪
目录 Jaeger 部署 Jaeger 从示例了解 Jaeger Client Go 了解 trace.span tracer 配置 Sampler 配置 Reporter 配置 分布式系统与span 怎么调.怎么传 HTTP,跨进程追踪 客户端 Web 服务端 Tag . Log 和 Ref Jaeger OpenTracing 是开放式分布式追踪规范,OpenTracing API 是一致,可表达,与供应商无关的API,用于分布式跟踪和上下文传播. OpenTracing 的客户端库以及规范
-
Go 分布式链路追踪实现原理解析
目录 为什么需要分布式链路追踪系统 微服务架构给运维.排障带来新挑战 分布式链路追踪系统如何帮助我们 分布式链路追踪系统架构概览 核心概念 一般架构 协议标准和开源实现 应用侧调用链跟踪实现方案概览 应用侧核心任务 基于 OTEL 库实现调用拦截 HttpServer Handler 生成 Span 过程 HttpClient 请求生成 Span 过程 基于 OTEL 库实现调用链跟踪总结 非侵入调用链跟踪实现思路 Go 非侵入链路追踪实现原理 在分布式.微服务架构下,应用一个请求往往贯穿多个分
-
net core下链路追踪skywalking安装和简单使用教程
当我们用很多服务时,各个服务间的调用关系是怎么样的?各个服务单调用的顺序\时间性能怎么样?服务出错了,到底是哪个服务引起的?这些问题我们用什么方案解决呢,以前的方式是各个系统自己单独做日志,出了问题从暴出问题的服务开始一个一个服务的排查,耗时耗力,有些日志不全的,还不一定查得出来.好在现在有Skywalking链路追踪系统,可以不用写任何代码,就追踪到各个服务间的调用关系和性能状态等. 本文将从0开始搭建两个webapi项目,使用Skywalking来追踪他们之间的调用关系及响应时间.开发环境为
-
ASP.Net Core中的日志与分布式链路追踪
目录 .NET Core 中的日志 控制台输出 非侵入式日志 Microsoft.Extensions.Logging ILoggerFactory ILoggerProvider ILogger Logging Providers 怎么使用 日志等级 Trace.Debug 链路跟踪 OpenTracing 上下文和跟踪功能 跟踪单个功能 将多个跨度合并到一条轨迹中 传播过程中的上下文 分布式链路跟踪 在不同进程中跟踪 在 ASP.NET Core 中跟踪 OpenTracing API 和
-
skywalking分布式服务调用链路追踪APM应用监控
目录 前言 skywalking是什么,有什么用? skywalaking总体架构分为三部分 如何快速开始? 第一步:进入官方release地址 第二步:配置需要监控的应用的agent探针 系统使用图例 其他 前言 当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于java探针技术,基本对应用零侵入零耦合. skywalking是什么,有什么用? Skywalking 是一个APM系统,即应用性能监控系统,为微服务架构和云原
-
.NET core项目AsyncLocal在链路追踪中的应用
目录 前言 老传统做法 AspNetCore的TraceIdentifier AsyncLocal在链路追踪的应用 定义 示例 项目应用 AspNet4 AspNetCore 前言 在项目生产中日志的记录是必不可少的,在.net项目中,要说日志组件,log4net绝对可有一席之地,随着公司业务的发展,微服务则必定无可避免.在跨服务中通过日志进行分析性能或者排查故障点,如何快速定位日志尤为关键.链路追踪技术的出现正是解决这些痛点的. 分布式链路追踪需要收集单次请求所经过的所有服务,而且为了知道请求
随机推荐
- js仿小米官网图片轮播特效
- 多功能jQuery树插件zTree实现权限列表简单实例
- linux下用cron定时执行任务的方法
- 在Win2003中安装bind教程(部署智能DNS)
- Python 获得13位unix时间戳的方法
- asp.net 打印控件使用方法
- JavaScript cookie的设置获取删除详解
- JavaScript插件化开发教程 (二)
- ASP.Net巧用窗体母版页实例
- Android编程实现泡泡聊天界面实例详解(附源码)
- win7下mysql6.x出现中文乱码的完美解决方法
- php连接oracle数据库的核心步骤
- Javascript中apply、call、bind的巧妙使用
- Js 本页面传值实现代码
- Windows下SVNServer安装与配置详解
- 利用JavaScript如何查询某个值是否数组内
- 基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
- C#程序最小化到托盘图标操作步骤与实现代码
- PHP OPCode缓存 APC详细介绍
- 在Spring Boot中使用swagger-bootstrap-ui的方法