分布式跟踪系统zipkin+mysql
1.初始化数据库:
1)
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 64bit',
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 'forjoining with zipkin_annotations';
ALTER TABLE zipkin_spans ADD INDEX(trace_id_high
, trace_id
) COMMENT 'forgetTracesByIds';
ALTER TABLE zipkin_spans ADD INDEX(name
) COMMENT 'for getTraces and getSpanNames';
ALTER TABLE zipkin_spans ADD INDEX(start_ts
) COMMENT 'for getTraces ordering andrange';
2)
CREATE TABLE IF NOT EXISTS zipkin_annotations (
trace_id_high
BIGINT NOT NULL DEFAULT 0COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64bit',
trace_id
BIGINT NOT NULL COMMENT 'coincideswith zipkin_spans.trace_id',
span_id
BIGINT NOT NULL COMMENT 'coincideswith 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 toimplement TTL; Annotation.timestamp or zipkin_spans.timestamp',
endpoint_ipv4
INT COMMENT 'Null whenBinary/Annotation.endpoint is null',
endpoint_ipv6
BINARY(16) COMMENT 'Null whenBinary/Annotation.endpoint is null, or no IPv6 address',
endpoint_port
SMALLINT COMMENT 'Null whenBinary/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 'forgetTraces/ByIds';
ALTER TABLE zipkin_annotations ADD INDEX(endpoint_service_name
) COMMENT 'forgetTraces 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 'fordependencies job';
3)
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
);
2.修改启动参数:
MYSQL_DB
: The database to use. Defaults to "zipkin".MYSQL_USER
andMYSQL_PASS
: MySQL authentication, which defaults to empty string.MYSQL_HOST
: Defaults to localhostMYSQL_TCP_PORT
: Defaults to 3306MYSQL_MAX_CONNECTIONS
: Maximum concurrent connections, defaults to 10MYSQL_USE_SSL
: Requiresjavax.net.ssl.trustStore
andjavax.net.ssl.trustStorePassword
, defaults to false.
STORAGE_TYPE=mysql MYSQL_USER=root MYSQL_PASS=password MYSQL_HOST=localhost MYSQl_TCP_PORT=3306 java -jar zipkin.jar
每次trace的数据会存放在数据库中,zipkin数据库已经存在数据.
默认使用zipkin数据库,当数据库中缺少zipkin的schema,在网页健康检查的之后,会出现:zipkin schema is missing.的报错.
mysql导入外部shell脚本:
1.使用cmd命令执行:
$mysql -uroot -pkasumi -Dzipkin < zipkin.sql
如果在脚本中使用了use zipkin,可以不用-D指明连接的数据库.
2.在mysql控制台执行:
use zipkin
source zipkin.sql
分布式跟踪系统zipkin+mysql的更多相关文章
- 微服务之分布式跟踪系统(springboot+zipkin+mysql)
通过上一节<微服务之分布式跟踪系统(springboot+zipkin)>我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了 ...
- .NetCore实践篇:分布式监控系统zipkin踩坑之路(二)
前言 <牧神记>有一句话说的好,破心中神.当不再对分布式,微服务,CLR畏惧迷茫的时候,你就破了心中神. zipkin复习 第一篇: .Net架构篇:思考如何设计一款实用的分布式监控系统? ...
- 基于SkyWalking的分布式跟踪系统 - 环境搭建
前面的几篇文章我们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana可以全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通 ...
- 基于SkyWalking的分布式跟踪系统 - 微服务监控
上一篇文章我们搭建了基于SkyWalking分布式跟踪环境,今天聊聊使用SkyWalking监控我们的微服务(DUBBO) 服务案例 假设你有个订单微服务,包含以下组件 MySQL数据库分表分库(2台 ...
- 基于SkyWalking的分布式跟踪系统 - 异常告警
通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的 ...
- Spring Boot 2.0 + zipkin 分布式跟踪系统快速入门
原文:https://www.jianshu.com/p/9bfe103418e2 注意 Spring Boot 2.0之后,使用EnableZipkinServer创建自定义的zipkin服务器已经 ...
- 微服务之分布式跟踪系统(springboot+pinpoint)
这篇文章介绍一下在微服务(springboot开发)的项目中使用pintpoint监控的过程及效果展示. 背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个AP ...
- 分布式链路跟踪系统架构SkyWalking和zipkin和pinpoint
Net和Java基于zipkin的全链路追踪 https://www.cnblogs.com/zhangs1986/p/8966051.html 在各大厂分布式链路跟踪系统架构对比 中已经介绍了几大框 ...
- Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch【Finchley 版】
随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑:一个请求可能需要多个服务的调用:当请求迟缓或不可用时,无法得知是哪个微服务引起的,这 ...
随机推荐
- bzoj3748 Kwadraty
Claris 当然是要用来%的 但是,,其他dalao,,比如JL的红太阳commonc.题解能不能稍微加几句话,蒟蒻看不懂啊. 在这里解释一下,Claris的题解.(因为我弱,想了半天才明白,所以觉 ...
- Linux基础-正则表达式整理---------------grep、sed、awk
目录: Ⅰ:正则表达式 Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...
- 《剑指offer》— JavaScript(3)从尾到头打印链表
从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值. 实现代码 /*function ListNode(x){ this.val = x; this.next = null; }* ...
- Qt ------ 再论事件循环
在介绍在以前,我们要认识两个术语: 可重入的(Reentrant):如果多个线程可以在同一时刻调用一个类的所有函数,并且保证每一次函数调用都引用一个唯一的数据,就称这个类是可重入的(Reentrant ...
- Windows 2008 R2上配置IIS7或IIS7.5中的URLRewrite(URL重写)实例
1. 安装URL Rewrite模块 下载页面 re_write_x86_zh_CN.msi from microsoft re_write_x64_zh_CN.msi from microsoft安 ...
- XML签名Cannot resolve element with ID XXXX 解决方案
最近同银行做接口联调,需要对XML文件做加签和解签操作,本地的开发环境是Mac 10.10,JDK的版本是1.6.0.65.小小的一段加签代码,一直报错,却久久也找不到解决方法,网上的资料非常少,错误 ...
- 即时通信系统Openfire分析之一:Openfire与XMPP协议
引言 目前互联网产品使用的即时通信协议有这几种:即时信息和空间协议(IMPP).空间和即时信息协议(PRIM).针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP.PRIM与 ...
- KeyDown,KeyPress和KeyUp详解(转)
1.按键的类型 Windows窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码.使用Keys枚举,可以综合一系列按键以生成单个值,这些值与WM_KEYDOWN和WM_SYSKEYDOWNWind ...
- 解决tomcat占用8080端口问题图文详解
相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现 Several ports (8080, 8009) required by Tomcat v6.0 Server ...
- POJ 2318/2398 叉积性质
2318 2398 题意:给出n条线将一块区域分成n+1块空间,再给出m个点,询问这些点在哪个空间里. 思路:由于只要求相对位置关系,而对具体位置不关心,那么易使用叉积性质得到相对位置关系(左侧/右侧 ...