二十、Zipkin持久化链路跟踪

本文介绍了如何将Zipkin的链路跟踪数据持久化到MySQL和ElasticSearch。首先,详细阐述了在MySQL中创建zipkin数据库和启动Zipkin服务的步骤,接着讨论了如何配置Zipkin以使用MySQL进行数据存储。此外,还提到了使用ElasticSearch作为持久化存储的配置方法。
摘要由CSDN通过智能技术生成

目录

Zipkin持久化

使用mysql数据库持久化

1、创建zipkin数据库

2、启动zipkin使用以下脚本

3、访问接口(配置了sleuth链路跟踪)

 使用ElasticSearch持久化

zipkin启动脚本


Zipkin持久化

Zipkin server默认会将追踪数据信息保存在内存中,但这种方法不适合生产环境,因为如果zipkin服务宕机了,则记录数据会消失,后续生产需要追寻问题我们就没办法了,所以我们需要将数据持久化到硬盘中(Mysql数据库或者ElasticSearch)

使用mysql数据库持久化

1、创建zipkin数据库

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,
 `remote_service_name` VARCHAR(255),
 `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',
 PRIMARY KEY (`trace_id_high`, `trace_id`, `id`)
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;
 
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(`remote_service_name`) COMMENT 'for getTraces and getRemoteServiceNames';
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值