【zipkin】下载安装启动

zipkin-server

数据库建表语句

注意数据库建表语句是否与版本对应,否则容易出现UI界面查询不到信息

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;

下载

https://repo1.maven.org/maven2/io/zipkin/zipkin-server/

安装及启动(mysql+rabbitmq)

如果UI界面查询报错,可通过查询日志定位错误

  • 命令
nohup java -jar zipkin-server-2.23.2-exec.jar --STORAGE_TYPE=mysql --MYSQL_DB=zipkin_db --MYSQL_USER=root --MYSQL_PASS=Hrj@771628 --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --zipkin.collector.rabbitmq.addresses=localhost --zipkin.collector.rabbitmq.username=root --zipkin.collector.rabbitmq.password=123456 >zipkin.log 2>&1 &
  • 脚本zipkin_start_restart.sh
#!/bin/sh

#程序名
RUN_NAME="zipkin-server-2.12.9-exec.jar"

#资源位置
JAVA_OPTS=/root/zipkin-server-2.12.9-exec.jar
#日志位置
LOG_OPTS=/root/zipkin.log
#数据库相关
MYSQL_DB=zipkin_db
MYSQL_USER=root
MYSQL_PASS=pass
MYSQL_HOST=127.0.0.1
MYSQL_TCP_PORT=3306
#rabbitmq相关
MQ_ADDR=localhost
MQ_USER=root
MQ_PASS=123456

echo 'checking $RUN_NAME ...'
pid=`ps -ef | grep $RUN_NAME | grep -v grep | awk '{print $2}'`
if [ "$pid" == "" ];then echo "starting ...";else echo "$RUN_NAME exist";echo "kill -9 的pid:"+$pid;kill -9 $pid;fi
sleep 2s
nohup java -jar $JAVA_OPTS --STORAGE_TYPE=mysql --MYSQL_DB=zipkin_db --MYSQL_USER=root --MYSQL_PASS=Hrj@771628 --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --zipkin.collector.rabbitmq.addresses=$MQ_ADDR --zipkin.collector.rabbitmq.username=$MQ_USER --zipkin.collector.rabbitmq.password=$MQ_PASS >$LOG_OPTS 2>&1 &
echo 'start finish'
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值