zoukankan      html  css  js  c++  java
  • 分布式跟踪系统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';

    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';

    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 and MYSQL_PASS: MySQL authentication, which defaults to empty string.
    • MYSQL_HOST: Defaults to localhost
    • MYSQL_TCP_PORT: Defaults to 3306
    • MYSQL_MAX_CONNECTIONS: Maximum concurrent connections, defaults to 10
    • MYSQL_USE_SSL: Requires javax.net.ssl.trustStore and javax.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

  • 相关阅读:
    LeetCode155. 最小栈
    LeetCode154. 寻找旋转排序数组中的最小值 II
    LeetCode153. 寻找旋转排序数组中的最小值
    LeetCode152. 乘积最大子数组
    Python 异常值数据
    Python 生成周期性波动的数据 可指定数值范围
    VUE 组件 事件传递
    MyBatis-Plus And和Or的使用
    SQL Server 复制一条数据
    PLC扩展模拟量输入模块是什么
  • 原文地址:https://www.cnblogs.com/kasumi/p/6543473.html
Copyright © 2011-2022 走看看