Zipkin

spring cloud zipkin 链路追踪

匿名 (未验证) 提交于 2019-12-02 23:42:01
Zipkin 链路追踪 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId> </dependency> 随后使用docker 启动 zipkin镜像 docker run -d --net=host openzipkin/zipkin 输入网址进入页面 http://localhost:9411/zipkin/ 接下来配置yml文件 #链路追踪 zipkin: base-url: http://localhost:9411/zipkin/ #抽样百分比 sleuth: sampler: probability: 1 再进入页面选择服务查询即可。 文章来源: https://blog.csdn.net/qq_36760953/article/details/91460739

服务追踪

匿名 (未验证) 提交于 2019-12-02 23:39:01
1.安装zipkin    docker run -d -p 9411:9411 openzipkin/zipkin http://localhost:9411/zipkin/ #配置服务追踪 zipkin: base-url: http://zipkin:9411/ sender: type: web sleuth: sampler: probability: 1 //抽样100% /*--> */ /*--> */ /*--> */ /*--> */ /*--> */

微服务之分布式跟踪系统(springboot+zipkin+mysql)

匿名 (未验证) 提交于 2019-12-02 22:06:11
微服务之分布式跟踪系统(springboot+zipkin) 》我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra、MYSQL、ElasticSearch。 二、zipkin的各种Storage配置简介 *`QUERY_PORT`: Listen port for the http api and web ui; Defaults to 9411 *`QUERY_LOG_LEVEL`: Log level written to the console; Defaults to INFO *`QUERY_LOOKBACK`: How many milliseconds queries can look back from endTs;Defaults to 7 days *`STORAGE_TYPE`: SpanStore implementation: one of `mem`, `mysql`, `cassandra`,`elasticsearch` *`COLLECTOR_PORT`: Listen port for the scribe thrift api; Defaults to 9410 *`COLLECTOR_SAMPLE_RATE`: Percentage of traces

Sleuth 与 Zipkin

↘锁芯ラ 提交于 2019-12-02 15:03:48
随着业务发展,系统拆分导致系统调用链路愈发复杂,一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。 服务追踪的追踪单元是从客户发起请求(request)抵达被追踪系统的边界开始,到被追踪系统向客户返回响应(response)为止的过程,称为一个 trace。每个trace中会调用若干个服务,为了记录调用了哪些服务,以及每次调用的消耗时间等信息,在每次调用服务时,埋入一个调用记录,称为一个 span。这样,若干个有序的span就组成了一个trace。在系统向外界提供服务的过程中,会不断地有请求和响应发生,也就会不断生成trace,把这些带有span的trace记录下来,就可以描绘出一幅系统的服务拓扑图。附带上span中的响应时间,以及请求成功与否等信息,就可以在发生问题的时候,找到异常的服务;根据历史数据,还可以从系统整体层面分析出哪里性能差,定位性能优化的目标。 来源: https://blog.csdn.net/weixin_42331540/article/details/102777829

在阿里云创建私有仓库上传并拉取

爷,独闯天下 提交于 2019-12-02 11:11:34
在阿里云上创建私有仓库,为后面的微服务上传镜像做准备,后面会安装harbor 操作指南: 1. 登录阿里云Docker Registry $ sudo docker login --username=wgr332574835 registry.cn-hangzhou.aliyuncs.com 用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。 您可以在产品控制台首页修改登录密码。 2. 从Registry中拉取镜像 $ sudo docker pull registry.cn-hangzhou.aliyuncs.com/dalianpai/topcheer:[镜像版本号] 3. 将镜像推送到Registry $ sudo docker login --username=wgr332574835 registry.cn-hangzhou.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/dalianpai/topcheer:[镜像版本号]$ sudo docker push registry.cn-hangzhou.aliyuncs.com/dalianpai/topcheer:[镜像版本号] 请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。 演示 ​

Integrate ODL with Jaeger or Zipkin

旧时模样 提交于 2019-12-02 10:38:20
I am trying to integrate an ODL application with Jaeger or Zipkin to trace the logs. Jaeger worked with fine with a Java Application, but doesn't work with ODL. I get NoClassDefError even though I added the bundles: install -s wrap:mvn:org.apache.thrift/libthrift/0.12.0 install -s wrap:mvn:io.jaegertracing/jaeger-core/0.35.4 install -s wrap:mvn:io.jaegertracing/jaeger-thrift/0.35.4 install -s wrap:mvn:io.opentracing/opentracing-api/0.31.0 install -s wrap:mvn:io.opentracing/opentracing-util/0.31.0 install -s wrap:mvn:io.opentracing/opentracing-noop/0.31.0 install -s wrap:mvn:io.opentracing

几种分布式调用链监控组件的实践与比较(二)比较

本秂侑毒 提交于 2019-12-01 10:01:42
https://blog.csdn.net/ityouknow/article/details/82393102 引言:继上篇《几种分布式调用链监控组件的实践与比较(一)实践》后,本篇将会讲下几种APM选型的比较与性能测试。 1. 前文回顾 上一篇文章主要讲了三种分布式调用链监控组件的实践。问题的背景由微服务架构展开,微服务的好处已经不用多说,而微服务的多了之后,千头万绪,下面这张图经常被用到。 系统的复杂度因此提升。系统越复杂,越难解决问题,例如系统失败或者性能问题。在三层架构中找到解决方案还不是太难,仅仅需要分析3个组件比如web服务器,应用服务器和数据库,而服务器数量也不多。但是,如果问题发生在n层架构中,就需要调查大量的组件和服务器。另一个问题是仅仅分析单个组件很难看到大局;当发生一个低可见度的问题时,系统复杂度越高,就需要更长的时间来查找原因。最糟糕的是,某些情况下我们甚至可能无法查找出来。 上面其实已经提到存在的故障定位问题,基于微服务体系之下构建的业务系统存在的问题基本上分为三类: 故障定位难,一个简单操作,其背后可能是由十几个微服务共同完成的,这些微服务也由不同的团队去负责。一旦出现问题,最坏情况下我们也许需要这十几个团队一起来解决问题。 链路梳理难,应用没有形成应用拓扑,不知道自己的服务下游会影响其他哪些人。 资源浪费多,容量预估难。对于一些服务

分布式调用链监控组件的实践与比较(一)实践

荒凉一梦 提交于 2019-12-01 10:01:21
https://blog.csdn.net/ityouknow/article/details/82393097 引言:最近在调研与选型分布式调用链监控组件。选了主要的三种APM组件进行了实践与比较。本来打算一篇文章写完的,篇幅太长,打算分两篇。本文主要讲下链路traceing的基本概念和几种APM组件的实践,实践部分也没给出特别详细的步骤,因为本文重点不在具体的步骤。第二篇将会讲下几种APM选型的比较与性能测试。 1. 问题背景 微服务架构下,服务按照不同的维度进行拆分,一次请求请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。 分布式调用链监控组件在这样的环境下产生了。最出名的是谷歌公开的论文提到的 Dapper 。开发Dapper是为了收集更多的复杂分布式系统的行为信息,然后呈现给Google的开发者们。这样的分布式系统有一个特殊的好处,因为那些大规模的低端服务器,作为互联网服务的载体,是一个特殊的经济划算的平台。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨了不同的应用、不同的服务器之间的关联动作。 市面上的APM

Enabling Sleuth slows requests down (a lot)

萝らか妹 提交于 2019-12-01 08:54:41
问题 I use Spring Cloud Feign and Sleuth with a Zipkin server. My problem is that when I enable Sleuth, then any simple request takes at least 600ms. Note that for tests purposes, I've set the sampler percentage of Sleuth at 1. Can I do something to improve that? Here some log of a request which takes 25ms without Sleuth and 700ms with Sleuth. (user calls /teams which calls /cities): 13:46:46.064 [http-nio-8080-exec-3] DEBUG o.s.c.s.instrument.web.TraceFilter - Received a request to uri [/teams]

初识微服务之具备的功能

随声附和 提交于 2019-11-30 18:08:29
微服务之具备的功能 微: 开发+测试+运维 人数总和大致在6-10人左右 服务:是一个可独立运行的单元组件,每个单元组件运行在独立的进程中,组件之间互相通信采用HTTP这种轻量级的通信机制进行通信。 一:微服务所具备的特点 1:按照业务划分服务,单个服务代码量小,业务单一,易于维护。 2:每个服务有独立的基础组件,且进程独立。 3:微服务之间的通信是通过HTTP或者消息组件,具备容错能力。 4:有服务致力解决方案,服务之间不耦合,随时加入和剔除服务。 5:单个服务可集群化部署,具备负载均衡。 6:整体有安全机制,包括用户验证、权限验证、资源保护等。 7:整个微服务系统有链路追踪功能。 8:有一套完整的实时日志系统。 二:微服务应该体现的几个方面 此处以SpringCloud为例大致讲解 1:服务的发现与注册 服务注册: 向服务注册中心注册一个服务实例,服务提供者将自己的服务信息告知服务注册中心。 服务发现: 服务消费者需要从服务注册中心获取到所需要消费的服务的实例信息。 服务注册中心: (1):提供服务的健康检查方案,检查被注册的服务是否可用,一般通过心跳机制; (2):保存服务提供者的服务实例信息(IP、服务名),为服务消费者提供这些实例信息,剔除不可用的服务提供者。 (3):常见的服务注册中心有 Eureka和Zookeeper。