zipkin的安装与搭建

    zipkin是分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。

    下载与部署

    1. wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'

    jar中yaml文件配置

    1. zipkin:
    2.   self-tracing:
    3.     # Set to true to enable self-tracing.
    4.     enabled: ${SELF_TRACING_ENABLED:false}
    5.     # percentage to self-traces to retain
    6.     sample-rate: ${SELF_TRACING_SAMPLE_RATE:1.0}
    7.     # Timeout in seconds to flush self-tracing data to storage.
    8.     message-timeout: ${SELF_TRACING_FLUSH_INTERVAL:1}
    9.   collector:
    10.     # percentage to traces to retain
    11.     sample-rate: ${COLLECTOR_SAMPLE_RATE:1.0}
    12.     http:
    13.       # Set to false to disable creation of spans via HTTP collector API
    14.       enabled: ${HTTP_COLLECTOR_ENABLED:true}
    15.     kafka:
    16.       # ZooKeeper host string, comma-separated host:port value.
    17.       zookeeper: ${KAFKA_ZOOKEEPER:}
    18.       # Name of topic to poll for spans
    19.       topic: ${KAFKA_TOPIC:zipkin}
    20.       # Consumer group this process is consuming on behalf of.
    21.       group-id: ${KAFKA_GROUP_ID:zipkin}
    22.       # Count of consumer threads consuming the topic
    23.       streams: ${KAFKA_STREAMS:1}
    24.       # Maximum size of a message containing spans in bytes
    25.       max-message-size: ${KAFKA_MAX_MESSAGE_SIZE:1048576}
    26.     rabbitmq:
    27.       # RabbitMQ server address list (comma-separated list of host:port)
    28.       addresses: ${RABBIT_ADDRESSES:}
    29.       concurrency: ${RABBIT_CONCURRENCY:1}
    30.       # TCP connection timeout in milliseconds
    31.       connection-timeout: ${RABBIT_CONNECTION_TIMEOUT:60000}
    32.       password: ${RABBIT_PASSWORD:guest}
    33.       queue: ${RABBIT_QUEUE:zipkin}
    34.       username: ${RABBIT_USER:guest}
    35.       virtual-host: ${RABBIT_VIRTUAL_HOST:/}
    36.       useSsl: ${RABBIT_USE_SSL:false}
    37.       uri: ${RABBIT_URI:}
    38.   query:
    39.     enabled: ${QUERY_ENABLED:true}
    40.     # 1 day in millis
    41.     lookback: ${QUERY_LOOKBACK:86400000}
    42.     # The Cache-Control max-age (seconds) for /api/v1/services and /api/v1/spans
    43.     names-max-age: 300
    44.     # CORS allowed-origins.
    45.     allowed-origins: "*"
    46.   storage:
    47.     strict-trace-id: ${STRICT_TRACE_ID:true}
    48.     search-enabled: ${SEARCH_ENABLED:true}
    49.     type: ${STORAGE_TYPE:mem}
    50.     mem:
    51.       # Maximum number of spans to keep in memory.  When exceeded, oldest traces (and their spans) will be purged.
    52.       # A safe estimate is 1K of memory per span (each span with 2 annotations + 1 binary annotation), plus
    53.       # 100 MB for a safety buffer.  You'll need to verify in your own environment.
    54.       # Experimentally, it works with: max-spans of 500000 with JRE argument -Xmx600m.
    55.       max-spans: 500000
    56.     cassandra:
    57.       # Comma separated list of host addresses part of Cassandra cluster. Ports default to 9042 but you can also specify a custom port with 'host:port'.
    58.       contact-points: ${CASSANDRA_CONTACT_POINTS:localhost}
    59.       # Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin.
    60.       local-dc: ${CASSANDRA_LOCAL_DC:}
    61.       # Will throw an exception on startup if authentication fails.
    62.       username: ${CASSANDRA_USERNAME:}
    63.       password: ${CASSANDRA_PASSWORD:}
    64.       keyspace: ${CASSANDRA_KEYSPACE:zipkin}
    65.       # Max pooled connections per datacenter-local host.
    66.       max-connections: ${CASSANDRA_MAX_CONNECTIONS:8}
    67.       # Ensuring that schema exists, if enabled tries to execute script /zipkin-cassandra-core/resources/cassandra-schema-cql3.txt.
    68.       ensure-schema: ${CASSANDRA_ENSURE_SCHEMA:true}
    69.       # 7 days in seconds
    70.       span-ttl: ${CASSANDRA_SPAN_TTL:604800}
    71.       # 3 days in seconds
    72.       index-ttl: ${CASSANDRA_INDEX_TTL:259200}
    73.       # the maximum trace index metadata entries to cache
    74.       index-cache-max: ${CASSANDRA_INDEX_CACHE_MAX:100000}
    75.       # how long to cache index metadata about a trace. 1 minute in seconds
    76.       index-cache-ttl: ${CASSANDRA_INDEX_CACHE_TTL:60}
    77.       # how many more index rows to fetch than the user-supplied query limit
    78.       index-fetch-multiplier: ${CASSANDRA_INDEX_FETCH_MULTIPLIER:3}
    79.       # Using ssl for connection, rely on Keystore
    80.       use-ssl: ${CASSANDRA_USE_SSL:false}
    81.     cassandra3:
    82.       # Comma separated list of host addresses part of Cassandra cluster. Ports default to 9042 but you can also specify a custom port with 'host:port'.
    83.       contact-points: ${CASSANDRA_CONTACT_POINTS:localhost}
    84.       # Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin.
    85.       local-dc: ${CASSANDRA_LOCAL_DC:}
    86.       # Will throw an exception on startup if authentication fails.
    87.       username: ${CASSANDRA_USERNAME:}
    88.       password: ${CASSANDRA_PASSWORD:}
    89.       keyspace: ${CASSANDRA_KEYSPACE:zipkin2}
    90.       # Max pooled connections per datacenter-local host.
    91.       max-connections: ${CASSANDRA_MAX_CONNECTIONS:8}
    92.       # Ensuring that schema exists, if enabled tries to execute script /zipkin2-schema.cql
    93.       ensure-schema: ${CASSANDRA_ENSURE_SCHEMA:true}
    94.       # how many more index rows to fetch than the user-supplied query limit
    95.       index-fetch-multiplier: ${CASSANDRA_INDEX_FETCH_MULTIPLIER:3}
    96.       # Using ssl for connection, rely on Keystore
    97.       use-ssl: ${CASSANDRA_USE_SSL:false}
    98.     elasticsearch:
    99.       # host is left unset intentionally, to defer the decision
    100.       hosts: ${ES_HOSTS:}
    101.       pipeline: ${ES_PIPELINE:}
    102.       max-requests: ${ES_MAX_REQUESTS:64}
    103.       timeout: ${ES_TIMEOUT:10000}
    104.       aws:
    105.         domain: ${ES_AWS_DOMAIN:}
    106.         region: ${ES_AWS_REGION:}
    107.       index: ${ES_INDEX:zipkin}
    108.       date-separator: ${ES_DATE_SEPARATOR:-}
    109.       index-shards: ${ES_INDEX_SHARDS:5}
    110.       index-replicas: ${ES_INDEX_REPLICAS:1}
    111.       username: ${ES_USERNAME:}
    112.       password: ${ES_PASSWORD:}
    113.       http-logging: ${ES_HTTP_LOGGING:}
    114.       legacy-reads-enabled: ${ES_LEGACY_READS_ENABLED:true}
    115.     mysql:
    116.       host: ${MYSQL_HOST:localhost}
    117.       port: ${MYSQL_TCP_PORT:3306}
    118.       username: ${MYSQL_USER:}
    119.       password: ${MYSQL_PASS:}
    120.       db: ${MYSQL_DB:zipkin}
    121.       max-active: ${MYSQL_MAX_CONNECTIONS:10}
    122.       use-ssl: ${MYSQL_USE_SSL:false}
    123.   ui:
    124.     enabled: ${QUERY_ENABLED:true}
    125.     ## Values below here are mapped to ZipkinUiProperties, served as /config.json
    126.     # Default limit for Find Traces
    127.     query-limit: 10
    128.     # The value here becomes a label in the top-right corner
    129.     environment:
    130.     # Default duration to look back when finding traces.
    131.     # Affects the "Start time" element in the UI. 1 hour in millis
    132.     default-lookback: 3600000
    133.     # When false, disables the "find a trace" screen
    134.     search-enabled: ${SEARCH_ENABLED:true}
    135.     # Which sites this Zipkin UI covers. Regex syntax. (e.g. http:\/\/example.com\/.*)
    136.     # Multiple sites can be specified, e.g.
    137.     # - .*example1.com
    138.     # - .*example2.com
    139.     # Default is "match all websites"
    140.     instrumented: .*
    141.     # URL placed into the <base> tag in the HTML
    142.     base-path: /zipkin/
    143. server:
    144.   port: ${QUERY_PORT:9411}
    145.   use-forward-headers: true
    146.   compression:
    147.     enabled: true
    148.     # compresses any response over min-response-size (default is 2KiB)
    149.     # Includes dynamic json content and large static assets from zipkin-ui
    150.     mime-types: application/json,application/javascript,text/css,image/svg
    151. spring:
    152.   mvc:
    153.     favicon:
    154.       # zipkin has its own favicon
    155.       enabled: false
    156.   autoconfigure:
    157.     exclude:
    158.       # otherwise we might initialize even when not needed (ex when storage type is cassandra)
    159.       - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
    160. info:
    161.   zipkin:
    162.     version: "2.7.1"
    163. logging:
    164.   pattern:
    165.     level: "%clr(%5p) %clr([%X{traceId}/%X{spanId}]){yellow}"
    166.   level:
    167.     # Silence Invalid method name: '__can__finagle__trace__v3__'
    168.     com.facebook.swift.service.ThriftServiceProcessor: 'OFF'
    169. #     # investigate /api/v1/dependencies or /api/v2/dependencies
    170. #     zipkin2.internal.DependencyLinker: 'DEBUG'
    171. #     # log cassandra queries (DEBUG is without values)
    172. #     com.datastax.driver.core.QueryLogger: 'TRACE'
    173. #     # log cassandra trace propagation
    174. #     com.datastax.driver.core.Message: 'TRACE'
    175. #     # log reason behind http collector dropped messages
    176. #     zipkin.server.ZipkinHttpCollector: 'DEBUG'
    177. #     zipkin.collector.kafka.KafkaCollector: 'DEBUG'
    178. #     zipkin.collector.kafka10.KafkaCollector: 'DEBUG'
    179. #     zipkin.collector.rabbitmq.RabbitMQCollector: 'DEBUG'
    180. #     zipkin.collector.scribe.ScribeCollector: 'DEBUG'
    181. management:
    182.   security:
    183.     # do not lock-down metrics by default
    184.     # https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#actuator-security
    185.     enabled: false

    启动传入并参数

    1. java -Dzipkin.collector.kafka.overrides.auto.offset.reset=largest -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://10.1.1.2:9200,http://10.1.1.3:9200,http://10.1.1.4:9200,http://10.1.1.5:9200 -jar /usr/local/zipkin/zipkin.jar  -DKAFKA_TOPIC=log4go -DKAFKA_ZOOKEEPER=10.2.1.2:2181,10.2.1.3:2181,10.2.1.4:2181/kafka --logging.level.zipkin=DEBUG  

    web界面

    zipkin的安装与搭建

    Sun Feb 24 08:31:33 CST 2019

    • 本文由 发表于 2019-02-24
    • 转载请务必保留本文链接:https://linuxeye.com/468.html
    Consul集群配置 Linux

    Consul集群配置

    consul原理 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Se...
    CentOS、Ubuntu、Debian依赖源配置 Linux

    CentOS、Ubuntu、Debian依赖源配置

    基础文档来一一篇,本文档以配置阿里云源为例,可将地址替换为其它源,如清华源地址:mirrors.tuna.tsinghua.edu.cn CentOS 7 yum源 rm -rf /etc/yum.r...
    匿名

    发表评论

    匿名网友