Spring-Cloud 实战 七 全链路监控 zipkin

Srping-Cloud 实战文章链接

Spring-Cloud 实战 一 服务配置中心 config
Spring-Cloud 实战 二 服务注册与发现 eureka
Spring-Cloud 实战 三 服务提供者
Spring-Cloud 实战 四 服务消费 feign
Spring-Cloud 实战 五 服务消费 feign + 断路器 hystrix
Spring-Cloud 实战 六 网关 zuul
Spring-Cloud 实战 八 服务监控 spring-boot admin
Spring-Cloud 实战 九 Spring-Cloud 之 Docker Compose编排
Spring-Cloud 实战 十 Spring Cloud 微服务 迁移到 kubernetes平台

Spring-Cloud 全链路监控 zipkin 简介

Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。

每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。

Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。接下来的测试为方便直接采用In-Memory方式进行存储,生产推荐Elasticsearch。


config 配置中心添加 zipkin-service-dev.yml

项目地址:https://github.com/xiliangMa/mscloud-config

spring:
  application:
    name: zipkin-service

server:
  port: 3000

eureka:
  instance:
    hostname: mscloud-zipkin-service
  client:
    service-url:
      defaultZone: http://mscloud-eureka-service:7000/eureka/

注意: 修改完后提交。


修改父类project pom.xml

添加 zipkin 依赖

 			<!-- zipkin -->
			<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-server</artifactId>
			<version>${zipkin.version}</version>
			</dependency>
			<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-autoconfigure-ui</artifactId>
			<version>${zipkin.version}</version>
			</dependency>

标识版本

	<properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
        <spring-boot.version>2.1.6.RELEASE</spring-boot.version>
        <spring-cloud-netflix-hystrix.version>2.0.0.RELEASE</spring-cloud-netflix-hystrix.version>
		<!-- zipkin 版本 -->
        <zipkin.version>2.12.8</zipkin.version>
		<!-- zipkin 版本 -->
    </properties>

其他服务 config 配置中心添加添加 zipkin url

例如 feign

spring:
  application:
    name: consumer-service-feign
  zipkin: #需要增加的内容
    base-url: http://mscloud-zipkin-service:8080

其他服务 修改pom.xml

添加zipkin 依赖

创建Module zipkin

基于mscloud project 创建 module zipkin


配置Module zuul pom.xml

添加eureka 、config、zipkin 等依赖

         <!-- spring boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- cloud eureka -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
		 <!-- config -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <!-- zipkin -->
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-server</artifactId>
        </dependency>
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-ui</artifactId>
        </dependency>

配置bootstrap.yml

通过cloud–> config的配置读取配置中心config的信息

spring:
  application:
    name: zipkin-service
  cloud:
    config:
      uri: http://mscloud-config-service:8888
      name: zipkin-service
      label: master
      profile: dev

zipkin服务端启动入口 ZipkinApplication.java

添加@EnableZipkinServer 注解

@EnableEurekaClient
@EnableZipkinServer
@SpringBootApplication
public class ZipkinApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZipkinApplication.class, args);
    }
}


启动测试

1. 首先要启动config 配置中心
2. 启动eureka 服务端
3. 启动provider 服务
4. 启动consumer-feign
5. 启动 zuul
6. 启动zipkin

eureka 服务注册:
在这里插入图片描述
zipkin 服务:

在这里插入图片描述

zipkin 请求监控:
在这里插入图片描述
zipkin 请求链路结构:
在这里插入图片描述

zipkin 请求链路依赖:

在这里插入图片描述

原文链接:https://github.com/xiliangMa/mscloud/blob/master/docs/Spring-Cloud/Spring-Cloud 实战 七 全链路监控 zipkin.md

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值