zipkin接入mysql【windows】

2023-10-27

java -jar zipkin.jar

这种方式启动数据是保存在内存中的,下面我们配置一下将数据保存到mysql中

创建数据库

CREATE DATABASE `zipkin` ;

创建表结构

表结构内容参考以下连接

https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

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 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 and autocomplete values';
ALTER TABLE zipkin_annotations ADD INDEX(`a_key`) COMMENT 'for getTraces and autocomplete values';
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,
  `error_count` BIGINT,
  PRIMARY KEY (`day`, `parent`, `child`)
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;

执行之后会创建3张表

Windows设置环境变量

注:

cmd中使用set命令没有测试成功

setx设置的环境变量会出现在用户变量中

setx STORAGE_TYPE mysql
setx MYSQL_DB zipkin
setx MYSQL_USER root
setx MYSQL_PASS root
setx MYSQL_HOST 127.0.0.1
setx MYSQL_TCP_PORT 3306

启动命令

java -jar zipkin.jar

参考链接:

zipkin的mysql配置_russle的专栏-CSDN博客_zipkin 数据库

Zipkin — 微服务链路跟踪. - JMCui - 博客园

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zipkin接入mysql【windows】 的相关文章

  • docker学习:CMD 和 ENTRYPOINT区别

    CMD 指定这个容器启动的时候要运行的命令 只有最后一个会生效 可被替代 ENTRYPOINT 指定这个容器启动的时候要运行的命令 可以追加命令 cmd 测试 ls a的命令 实际上只有 a起作用了 ls没有 测试CMD 编写dockerf
  • DockerCompose的安装以及使用

    docker compose的安装以及使用 docker compose的定义 docker compose是docker容器的单机编排工具 它是一个可以管理多容器的工具 比如可以解决多容器之间的依赖关系 比如启动nginx前端服务的时候会
  • Docker一运行容器就退出:已解决

    Docker一运行容器就退出 已解决 文章目录 Docker一运行容器就退出 已解决 问题引入 解决方法 问题引入 想着挂载一个数据卷人挪活设置个端口号在外部访问一下 结果刚刚运行就停止了 如下图所示 就算是给它加上做一个死循环 持续输出
  • 【Docker系列】从头学起 Docker——docker --help命令详解

    文章目录 前言 一 学会使用 docker help 命令 二 docker help进阶方法 总结 前言 当你在docker容器时相信docker help一定可以帮助到你 一 学会使用 docker help 命令 即使忘记相关命令 也
  • 1Panel本人目前为止,遇到过的最牛docker管理工具

    1Panel 现代化 开源的 Linux 服务器运维管理面板 1Panel 的功能和优势包括 快速建站 深度集成 Wordpress 和 Halo 域名绑定 SSL 证书配置等一键搞定 高效管理 通过 Web 端轻松管理 Linux 服务器
  • docker中设置容器健康检查

    文章目录 一 docker compose方式 二 Dockerfile方式 三 docker run方式 四 查看检查日志 一 docker compose方式 在docker compose中加入healthcheck healthch
  • 什么是Servlet容器?

    在本文中 我写了一些关于Web服务器 Servlet容器以及它与JVM的关系的基本概念 我想表达的是 Servlet容器也仅仅不过是一个Java程序 1 什么是Web服务器 想要知道什么是Servlet容器 我们首先要知道什么是Web服务器
  • 利用docker搭漏洞环境并复现案例(crlf、目录穿越)

    准备 1 安装docker 2 导入漏洞环境文 3 配置漏洞文件 CRLF 原理 复现 目录穿越漏洞 准备 1 安装docker 1 更新系统软件包 sudo yum update 2 安装 Docker 的依赖软件包 sudo yum i
  • onlyoffice报 error self signed certificate导致download failed错误处理

    安装nextcloud onlyoffice 打开onlyoffice报错 进入容器看out log报错信息 root nextcloud docker ps a Emulate Docker CLI using podman Create
  • 云原生之深入解析Kubernetes策略引擎对比:OPA/Gatekeeper与Kyverno

    一 前言 Kubernetes 策略 Kubernetes 的 Pod Security Policy 正如其名字所暗示的 仅是针对 Pod 工作的 是一种用来验证和控制 Pod 及其属性的机制 另外 PSP 只能屏蔽非法 Pod 的创建
  • docker离线安装

    1 docker安装包下载 https download docker com linux static stable x86 64 docker 19 03 9 tgz 2 dcker安装包解压 tar zxvf docker 19 03
  • docker常见知识

    docker常见命令 名字 描述 用处 run 创建一个新的容器并运行一个命令 容器生命周期管理 start stop restart 启动 停止 重启容器 容器生命周期管理 kill 杀掉容器 杀死进程 容器生命周期管理
  • 震精!京东T8大牛每天熬夜到凌晨三四点,竟然是在写Docker教程

    写在前面 Docker如日中天 这不是单纯的炒概念 Docker确确实实解决了开发与运维的痛点 因此在企业开发中得到了非常广泛的使用 Docker是一个开放源代码软件项目 让应用程序部署在软件容器下的工作可以自动化进行 借此在Linux操作
  • 用 registry 搭建 docker 本地镜像仓库实战记录

    目标 掌握使用 docker commit docker save docker load docker push 等命令 自制本地镜像仓库 local registry 及上传下载镜像 1 使用 docker commit 命令制作 to
  • Potplayer播放器远程访问群晖WebDav本地资源【内网穿透】

    文章目录 本教程解决的问题是 按照本教程方法操作后 达到的效果是 1 使用环境要求 2 配置webdav 3 测试局域网使用potplayer访问webdav 3 内网穿透 映射至公网 4 使用固定地址在potplayer
  • 软件测试开发/全日制/测试管理丨Docker容器技术

    Docker 是一种轻量级的容器技术 通过将应用程序及其所有依赖项封装到一个可移植的容器中 实现了应用程序的便携性 可部署性和可伸缩性 下面是关于 Docker 容器技术的主要概念和优势 主要概念 容器 Container 容器是一个轻量级
  • K8S中的Secret创建和使用

    天行健 君子以自强不息 地势坤 君子以厚德载物 每个人都有惰性 但不断学习是好好生活的根本 共勉 文章均为学习整理笔记 分享记录为主 如有错误请指正 共同学习进步 文章目录 创建secret 1 kubectl命令创建 2 yaml文件创建
  • Docker部署Portainer并结合内网穿透实现远程访问管理界面

    文章目录 前言 1 部署Portainer 2 本地访问Portainer 3 Linux 安装cpolar 4 配置Portainer 公网访问地址 5 公网远程访
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi
  • Kubernetes (十三) 存储——持久卷-动静态分配

    一 简介 二 NFS持久化存储步骤 静态分配 1 集群外主机用上次nfsdata共享目录中创建用来测试的pv 1 3 目录 用来对三个静态pv 2 创建pv的应用文件 vim pv yaml apiVersion v1 kind Persi

随机推荐

  • 聊一聊Cookie(结合自己的学习方法分享一篇维基百科和一篇segmentfault(思否)好文)

    一 最近在带着Java服务端同学一起做一个新的项目 有一些基本的概念 无论是前端还是Java服务端 很多同学都是在按照经验办事 在一个公司的经验用很多年 经常容易犯经验主义的错误 很多时候 最基础的概念 最基本的东西还是要懂的 二 首先学习
  • Image Super-Resolution via Sparse Representation——基于稀疏表示的超分辨率重建

    经典超分辨率重建论文 基于稀疏表示 下面首先介绍稀疏表示 然后介绍论文的基本思想和算法优化过程 最后使用python进行实验 稀疏表示 稀疏表示是指 使用过完备字典中少量向量的线性组合来表示某个元素 过完备字典是一个列数大于行数的行满秩矩阵
  • C# 调用Qt 库

    转载 C 调用Qt 库 tangkaixuan 的博客 CSDN博客 c qt Qt创建动态库给C 调用 通过回调完成交互 DS小龙哥的博客 CSDN博客 qt怎么调用c
  • ant design change等方法默认传值加上自定义参数传值

  • 时间序列 R 08 指数平滑 Exponential smoothing

    1 1 简单指数平滑 simple exponential smoothing SES SES适用于不计趋势与季节性的时间序列 我们在可以使用平均值模型和naive模型来做粗略的预测 点击查看 他们懂预测方法分别是 使用最后一个值 naiv
  • STM32F042 CAN使用例子

    代码如下 include mycan h CAN初始化 tsjw 重新同步跳跃时间单元 范围 1 3 CAN SJW 1tq CAN SJW 2tq CAN SJW 3tq CAN SJW 4tq tbs2 时间段2的时间单元 范围 1 8
  • tensorfllow-gpu遇到gpu资源不够的情况

    本人windows10测试tensorflow gpu的资源使用情况 开启两个tensorflow gpu进程 两个进程的代码一致 第一个进程创建随机变量后gpu使用情况如下 第二个进程创建随机变量时gpu使用情况如下 可以看到已经快使用完
  • Linux配置和使用Git

    本文已收录至 Linux知识与编程 专栏 作者 ARMCSKGT 演示环境 CentOS 7 目录 前言 正文 注册Giett构建仓库 注册giett 构建仓库 Linux配置Git 下载Git 配置Git用户名 配置Git账户邮箱 验证是
  • Qt(c++)调用海康威视监控摄像头

    文章目录 一 海康威视监控摄像头开发SDK介绍 二 海康SDK模块说明 三 Qt项目中海康威视SDK配置 四 实时预览摄像头图像程序 一 海康威视监控摄像头开发SDK介绍 设备网络SDK是基于设备私有网络通信协议开发的 为嵌入式网络硬盘录像
  • 探究软件测试人员的进阶之路

    一谈到进阶 大部分文章 包括前面一些文章也会写到职级如何从初级 中级 高级 一直进阶到专家级 然后写上每个级别所需要的知识技能 然而 我们掌握了这些所谓初 中 高的知识和技能 真的就能成为测试专家了吗 对于这个问题 大部分人应该都带着疑惑或
  • qt导入html css样式表,第45篇 进阶(五)Qt样式表

    第45篇 进阶 五 Qt样式表 导语 一个完善的应用程序不仅应该有实用的功能 还要有一个漂亮的外观 这样才能使应用程序更加友善 更加吸引用户 作为一个跨平台的UI开发框架 Qt提供了强大而灵活的界面外观设计机制 Qt样式表是一个可以自定义部
  • 分数阶导数的意义_导数的意义

    分数阶导数的意义 钙衍生物 CALCULUS DERIVATIVES After derivative theory posts we will start to see some of the applications that make
  • 私人用的红帽linux,红帽宣布为个人开发者提供16个RHEL免费许可 支持在生产环境中使用...

    自从红帽宣布结束CentOS操作系统后就引起很多争议 按红帽计划CentOS 8将是最后的版本并且会在年底停更 这使得很多依赖该操作系统的个人和企业无比愤怒 因为这突如其来的变更将会导致大量生产环境需要更换系统 现在红帽为平息用户愤怒正在扩
  • 双极性SPWM波生成

    本篇文章主要介绍用于逆变电路的双极性SPWM波生成 SPWM波就是脉冲宽度按正弦规律变化和正弦波等效的PWM波形 用于控制逆变电路中开关器件的通断 使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等 经滤波后可以得到正弦波输
  • @Transactional事务中发送MQ消息,事务还未完成但是消息已经发送

    Transactional事务中发送MQ消息 事务还未完成但是消息已经发送 这种情况会导致一些问题 1 事务还未提交 但是消息已经发送 这个时候消息中的一些信息提供给别人调用 但是别人调用并没有在数据库找到该记录 因为事务还未提交 2 事务
  • 多线程面试题

    目录 1 僵尸进程和孤儿进程 1 1 孤儿进程定义 1 2 僵尸进程定义 1 2 怎样来清除僵尸进程 1 kill杀死元凶父进程 一般不用 2 父进程用wait或waitpid去回收资源 方案不好 3 通过信号机制 在处理函数中调用wait
  • 8种方案,保证缓存和数据库的最终一致性

    订阅专栏 前言 我们通常使用缓存机制来提升系统的性能 缓存系统下的读写操作 一般都需要操作数据库与缓存 对于读操作 一般是先查询缓存 查询不到再查询数据库 最后回写进缓存 而对于写操作 究竟是先删除 更新 缓存 再更新数据库 还是先更新数据
  • open build service打包deb,并浅谈一点

    详细打包步骤注意 https zh opensuse org openSUSE Build Service Debian builds 认识 浅谈如何认识open build service的 最近在研究软件打包分发和发布的相关知识 发现了
  • CSS 预处理工具 Less 的介绍及使用 步骤

    文章目录 Less是什么 Less的使用方法 Less 中的注释 Less 中的变量 Less 中的嵌套 Less 中的混合 Mixin Less 中的运算 Less 中的转译 Less 中的作用域 Less 中的导入 Less实用实例 文
  • zipkin接入mysql【windows】

    java jar zipkin jar 这种方式启动数据是保存在内存中的 下面我们配置一下将数据保存到mysql中 创建数据库 CREATE DATABASE zipkin 创建表结构 表结构内容参考以下连接 https github co