`
liang100100
  • 浏览: 37192 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

将zipkin追踪信息保存到数据库(只需修改zipkin server即可)

 
阅读更多
1 引入mysql数据库依赖


<!-- 配置mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>


2 在配置文件msql连接

spring: 
 sleuth: 
  enabled: false #表示当前程序不使用sleuth
 datasource: #配置msyql 连接
  schema[0]: classpath:/zipkin.sql #数据库创建脚本,可以到官网下载
  url: jdbc:mysql://localhost:3306/zipkin?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false  
  username: root
  password: root
  driver-class-name: com.mysql.jdbc.Driver 
  initialize: true
  continue-on-error: true
zipkin: 
 storage: 
  type: mysql #mysql存储zipkin追踪信息


3 创建数据库和表

CREATE TABLE IF NOT EXISTS zipkin_spans (  
      `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit',  
      `trace_id` BIGINT NOT NULL,  
      `id` BIGINT NOT NULL,  
      `name` VARCHAR(255) NOT NULL,  
      `parent_id` BIGINT,  
      `debug` BIT(1),  
      `start_ts` BIGINT COMMENT 'Span.timestamp(): epoch micros used for endTs query and to implement TTL',  
      `duration` BIGINT COMMENT 'Span.duration(): micros used for minDuration and maxDuration query'  
    ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;  
      
    ALTER TABLE zipkin_spans ADD UNIQUE KEY(`trace_id_high`, `trace_id`, `id`) COMMENT 'ignore insert on duplicate';  
    ALTER TABLE zipkin_spans ADD INDEX(`trace_id_high`, `trace_id`, `id`) COMMENT 'for joining with zipkin_annotations';  
    ALTER TABLE zipkin_spans ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTracesByIds';  
    ALTER TABLE zipkin_spans ADD INDEX(`name`) COMMENT 'for getTraces and getSpanNames';  
    ALTER TABLE zipkin_spans ADD INDEX(`start_ts`) COMMENT 'for getTraces ordering and range';  
      
    CREATE TABLE IF NOT EXISTS zipkin_annotations (  
      `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit',  
      `trace_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.trace_id',  
      `span_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.id',  
      `a_key` VARCHAR(255) NOT NULL COMMENT 'BinaryAnnotation.key or Annotation.value if type == -1',  
      `a_value` BLOB COMMENT 'BinaryAnnotation.value(), which must be smaller than 64KB',  
      `a_type` INT NOT NULL COMMENT 'BinaryAnnotation.type() or -1 if Annotation',  
      `a_timestamp` BIGINT COMMENT 'Used to implement TTL; Annotation.timestamp or zipkin_spans.timestamp',  
      `endpoint_ipv4` INT COMMENT 'Null when Binary/Annotation.endpoint is null',  
      `endpoint_ipv6` BINARY(16) COMMENT 'Null when Binary/Annotation.endpoint is null, or no IPv6 address',  
      `endpoint_port` SMALLINT COMMENT 'Null when Binary/Annotation.endpoint is null',  
      `endpoint_service_name` VARCHAR(255) COMMENT 'Null when Binary/Annotation.endpoint is null'  
    ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;  
      
    ALTER TABLE zipkin_annotations ADD UNIQUE KEY(`trace_id_high`, `trace_id`, `span_id`, `a_key`, `a_timestamp`) COMMENT 'Ignore insert on duplicate';  
    ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`, `span_id`) COMMENT 'for joining with zipkin_spans';  
    ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTraces/ByIds';  
    ALTER TABLE zipkin_annotations ADD INDEX(`endpoint_service_name`) COMMENT 'for getTraces and getServiceNames';  
    ALTER TABLE zipkin_annotations ADD INDEX(`a_type`) COMMENT 'for getTraces';  
    ALTER TABLE zipkin_annotations ADD INDEX(`a_key`) COMMENT 'for getTraces';  
    ALTER TABLE zipkin_annotations ADD INDEX(`trace_id`, `span_id`, `a_key`) COMMENT 'for dependencies job';  
      
    CREATE TABLE IF NOT EXISTS zipkin_dependencies (  
      `day` DATE NOT NULL,  
      `parent` VARCHAR(255) NOT NULL,  
      `child` VARCHAR(255) NOT NULL,  
      `call_count` BIGINT  
    ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;  
      
    ALTER TABLE zipkin_dependencies ADD UNIQUE KEY(`day`, `parent`, `child`);  
分享到:
评论

相关推荐

    zipkin-server2.21.1.rar

    配置完成后,保存并关闭批处理文件,双击运行即可启动Zipkin Server。在命令行窗口中,你应该能看到Server启动的日志输出。如果一切正常,Server会在默认的9411端口上监听HTTP请求,等待接收追踪数据。 Zipkin ...

    zipkin-server最新jar包

    本资源是 "zipkin-server 最新 jar 包",它包含了运行 Zipkin Server 所需的所有组件,简化了部署流程。 Zipkin 的核心组件包括 Collector、Storage、Query 和 UI。Collector 负责接收来自应用程序的追踪数据,...

    zipkin-server-2.12.9-exec.jar

    在本文中,我们将深入探讨这个特定jar文件所包含的知识点,并延伸到Java档案库、Zipkin服务以及分布式系统的追踪原理。 首先,让我们从Java档案库的基础开始。jar文件是一种特殊的归档格式,基于Unix的.tar和.gz...

    zipkin-server-2.12.9.zip

    为了开始使用 Zipkin Server,你需要配置数据收集器以将追踪数据发送到服务器,然后启动 "zipkin-server-2.12.9-exec.jar"。对于开发者而言,理解 Zipkin 的工作原理以及如何集成到项目中至关重要,这样可以充分利用...

    最新版-zipkin-server-2.23.2-exec.jar.rar

    Zipkin 是一个分布式追踪系统,它能够收集服务之间的调用数据,帮助开发者分析和调试微服务架构中的延迟问题。在给定的文件“最新版-zipkin-server-2.23.2-exec.jar.rar”中,包含的是Zipkin Server的执行版本2.23.2...

    zipkin-server-2.23.9-exec.jar

    "zipkin-server-2.23.9-exec.jar" 是 Zipkin 服务器的一个可执行 JAR 文件,它包含了运行 Zipkin 服务所需的所有依赖,使得用户可以直接启动这个 JAR 来部署 Zipkin 服务器。 Zipkin 的核心功能包括: 1. **追踪...

    zipkin_server.rar

    本文将详细介绍如何使用 `zipkin-server-2.12.9-exec.jar` 来启动 Zipkin 服务器。 Zipkin 服务器基于 Java 开发,通过 `zipkin-server-2.12.9-exec.jar` 文件,我们可以快速启动一个本地的 Zipkin 服务。这个 JAR...

    zipkin-server-2.23.16-exec.jar

    当服务发送追踪数据到Zipkin服务器后,用户可以通过Zipkin的Web界面查询和分析这些数据,查看服务调用的延迟分布、调用链路等信息,这对于故障排查和性能优化至关重要。 在Spring Cloud环境中集成Zipkin,通常会...

    zipkin-server-2.9.4.jar

    你只需要在项目中添加对 Spring Cloud Zipkin 的依赖,并在配置文件(如 `application.yml` 或 `application.properties`)中指定 Zipkin 服务器的位置,即可开启服务追踪。 以下是一个简单的配置示例: ```yaml ...

    zipkin-server-2.12.9-exec.rar

    4. 配置应用,如使用Spring Cloud Sleuth,确保它们将追踪数据发送到Zipkin Server。 总结,"zipkin-server-2.12.9-exec.rar"是用于快速启动Zipkin Server的预编译版本,简化了Spring Cloud环境下的分布式追踪部署...

    zipkin_rabbitmq链路追踪.zip

    在Zipkin架构中,服务发送追踪数据到RabbitMQ的交换器,RabbitMQ再将这些数据路由到对应的队列中,Zipkin的接收端(Collector)从队列中消费这些数据并存储到持久化存储(如Cassandra、MySQL或Elasticsearch)中。...

    zipkin-server jar.zip

    spring cloud zipkin服务链路跟踪server相关jar包,下载完成之后使用java -jar zipkin-server-2.12.9-exec.jar方式运行,就能启动zipkin-server,不建议自己搭建zipkin-server

    zipkin-server-2.12.zip

    SpringBoot 2.x.x版本开始已经不推荐自定义zipkin-server了,官方推荐的是在官网下载jar包,直接启动zipkin-server即可。启动命令 java -jar zipkin-server-2.12.9-exec.jar。zipkin的管理界面...

    zipkin-server

    Zipkin-Server是Zipkin项目的服务器端实现,它是一个分布式追踪系统,用于收集微服务架构中的服务间调用数据,帮助开发者理解应用间的交互延迟。Zipkin最初由Twitter开源,现在是一个Apache孵化器项目,广泛应用于...

    zipkin-server-2.12.9-exec.zip

    这个版本的 Zipkin Server 提供了一个完整的运行环境,可以快速启动并开始收集追踪数据。 在微服务架构中,服务间的通信变得复杂,理解请求如何从一个服务传递到另一个服务以及在此过程中花费的时间变得至关重要。...

    zipkin-server-2.10.1-exec.zip

    8. 整合微服务:为了将 Zipkin 跟踪集成到你的应用程序中,你需要在每个服务中添加 Zipkin 客户端,并配置相应的服务发现机制,使得客户端能够找到 Zipkin 服务器并发送追踪数据。 9. 监控与报警:通过 Zipkin 收集...

Global site tag (gtag.js) - Google Analytics