zipkin的安装与搭建

zipkin的安装与搭建,第1张

zipkin的安装与搭建

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

下载与部署
    wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
jar中yaml文件配置
    zipkin:
      self-tracing:
        # Set to true to enable self-tracing.
        enabled: ${SELF_TRACING_ENABLED:false}
        # percentage to self-traces to retain
        sample-rate: ${SELF_TRACING_SAMPLE_RATE:1.0}
        # Timeout in seconds to flush self-tracing data to storage.
        message-timeout: ${SELF_TRACING_FLUSH_INTERVAL:1}
      collector:
        # percentage to traces to retain
        sample-rate: ${COLLECTOR_SAMPLE_RATE:1.0}
        http:
          # Set to false to disable creation of spans via HTTP collector API
          enabled: ${HTTP_COLLECTOR_ENABLED:true}
        kafka:
          # ZooKeeper host string, comma-separated host:port value.
          zookeeper: ${KAFKA_ZOOKEEPER:}
          # Name of topic to poll for spans
          topic: ${KAFKA_TOPIC:zipkin}
          # Consumer group this process is consuming on behalf of.
          group-id: ${KAFKA_GROUP_ID:zipkin}
          # Count of consumer threads consuming the topic
          streams: ${KAFKA_STREAMS:1}
          # Maximum size of a message containing spans in bytes
          max-message-size: ${KAFKA_MAX_MESSAGE_SIZE:1048576}
        rabbitmq:
          # RabbitMQ server address list (comma-separated list of host:port)
          addresses: ${RABBIT_ADDRESSES:}
          concurrency: ${RABBIT_CONCURRENCY:1}
          # TCP connection timeout in milliseconds
          connection-timeout: ${RABBIT_CONNECTION_TIMEOUT:60000}
          password: ${RABBIT_PASSWORD:guest}
          queue: ${RABBIT_QUEUE:zipkin}
          username: ${RABBIT_USER:guest}
          virtual-host: ${RABBIT_VIRTUAL_HOST:/}
          useSsl: ${RABBIT_USE_SSL:false}
          uri: ${RABBIT_URI:}
      query:
        enabled: ${QUERY_ENABLED:true}
        # 1 day in millis
        lookback: ${QUERY_LOOKBACK:86400000}
        # The Cache-Control max-age (seconds) for /api/v1/services and /api/v1/spans
        names-max-age: 300
        # CORS allowed-origins.
        allowed-origins: "*"
      storage:
        strict-trace-id: ${STRICT_TRACE_ID:true}
        search-enabled: ${SEARCH_ENABLED:true}
        type: ${STORAGE_TYPE:mem}
        mem:
          # Maximum number of spans to keep in memory.  When exceeded, oldest traces (and their spans) will be purged.
          # A safe estimate is 1K of memory per span (each span with 2 annotations + 1 binary annotation), plus
          # 100 MB for a safety buffer.  You'll need to verify in your own environment.
          # Experimentally, it works with: max-spans of 500000 with JRE argument -Xmx600m.
          max-spans: 500000
        cassandra:
          # 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'.
          contact-points: ${CASSANDRA_CONTACT_POINTS:localhost}
          # Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin.
          local-dc: ${CASSANDRA_LOCAL_DC:}
          # Will throw an exception on startup if authentication fails.
          username: ${CASSANDRA_USERNAME:}
          password: ${CASSANDRA_PASSWORD:}
          keyspace: ${CASSANDRA_KEYSPACE:zipkin}
          # Max pooled connections per datacenter-local host.
          max-connections: ${CASSANDRA_MAX_CONNECTIONS:8}
          # Ensuring that schema exists, if enabled tries to execute script /zipkin-cassandra-core/resources/cassandra-schema-cql3.txt.
          ensure-schema: ${CASSANDRA_ENSURE_SCHEMA:true}
          # 7 days in seconds
          span-ttl: ${CASSANDRA_SPAN_TTL:604800}
          # 3 days in seconds
          index-ttl: ${CASSANDRA_INDEX_TTL:259200}
          # the maximum trace index metadata entries to cache
          index-cache-max: ${CASSANDRA_INDEX_CACHE_MAX:100000}
          # how long to cache index metadata about a trace. 1 minute in seconds
          index-cache-ttl: ${CASSANDRA_INDEX_CACHE_TTL:60}
          # how many more index rows to fetch than the user-supplied query limit
          index-fetch-multiplier: ${CASSANDRA_INDEX_FETCH_MULTIPLIER:3}
          # Using ssl for connection, rely on Keystore
          use-ssl: ${CASSANDRA_USE_SSL:false}
        cassandra3:
          # 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'.
          contact-points: ${CASSANDRA_CONTACT_POINTS:localhost}
          # Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin.
          local-dc: ${CASSANDRA_LOCAL_DC:}
          # Will throw an exception on startup if authentication fails.
          username: ${CASSANDRA_USERNAME:}
          password: ${CASSANDRA_PASSWORD:}
          keyspace: ${CASSANDRA_KEYSPACE:zipkin2}
          # Max pooled connections per datacenter-local host.
          max-connections: ${CASSANDRA_MAX_CONNECTIONS:8}
          # Ensuring that schema exists, if enabled tries to execute script /zipkin2-schema.cql
          ensure-schema: ${CASSANDRA_ENSURE_SCHEMA:true}
          # how many more index rows to fetch than the user-supplied query limit
          index-fetch-multiplier: ${CASSANDRA_INDEX_FETCH_MULTIPLIER:3}
          # Using ssl for connection, rely on Keystore
          use-ssl: ${CASSANDRA_USE_SSL:false}
        elasticsearch:
          # host is left unset intentionally, to defer the decision
          hosts: ${ES_HOSTS:}
          pipeline: ${ES_PIPELINE:}
          max-requests: ${ES_MAX_REQUESTS:64}
          timeout: ${ES_TIMEOUT:10000}
          aws:
            domain: ${ES_AWS_DOMAIN:}
            region: ${ES_AWS_REGION:}
          index: ${ES_INDEX:zipkin}
          date-separator: ${ES_DATE_SEPARATOR:-}
          index-shards: ${ES_INDEX_SHARDS:5}
          index-replicas: ${ES_INDEX_REPLICAS:1}
          username: ${ES_USERNAME:}
          password: ${ES_PASSWORD:}
          http-logging: ${ES_HTTP_LOGGING:}
          legacy-reads-enabled: ${ES_LEGACY_READS_ENABLED:true}
        mysql:
          host: ${MYSQL_HOST:localhost}
          port: ${MYSQL_TCP_PORT:3306}
          username: ${MYSQL_USER:}
          password: ${MYSQL_PASS:}
          db: ${MYSQL_DB:zipkin}
          max-active: ${MYSQL_MAX_CONNECTIONS:10}
          use-ssl: ${MYSQL_USE_SSL:false}
      ui:
        enabled: ${QUERY_ENABLED:true}
        ## Values below here are mapped to ZipkinUiProperties, served as /config.json
        # Default limit for Find Traces
        query-limit: 10
        # The value here becomes a label in the top-right corner
        environment:
        # Default duration to look back when finding traces.
        # Affects the "Start time" element in the UI. 1 hour in millis
        default-lookback: 3600000
        # When false, disables the "find a trace" screen
        search-enabled: ${SEARCH_ENABLED:true}
        # Which sites this Zipkin UI covers. Regex syntax. (e.g. http://example.com/.*)
        # Multiple sites can be specified, e.g.
        # - .*example1.com
        # - .*example2.com
        # Default is "match all websites"
        instrumented: .*
        # URL placed into the  tag in the HTML
        base-path: /zipkin/
    server:
      port: ${QUERY_PORT:9411}
      use-forward-headers: true
      compression:
        enabled: true
        # compresses any response over min-response-size (default is 2KiB)
        # Includes dynamic json content and large static assets from zipkin-ui
        mime-types: application/json,application/javascript,text/css,image/svg
    spring:
      mvc:
        favicon:
          # zipkin has its own favicon
          enabled: false
      autoconfigure:
        exclude:
          # otherwise we might initialize even when not needed (ex when storage type is cassandra)
          - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
    info:
      zipkin:
        version: "2.7.1"
    logging:
      pattern:
        level: "%clr(%5p) %clr([%X{traceId}/%X{spanId}]){yellow}"
      level:
        # Silence Invalid method name: '__can__finagle__trace__v3__'
        com.facebook.swift.service.ThriftServiceProcessor: 'OFF'
    #     # investigate /api/v1/dependencies or /api/v2/dependencies
    #     zipkin2.internal.Dependencylinker: 'DEBUG'
    #     # log cassandra queries (DEBUG is without values)
    #     com.datastax.driver.core.QueryLogger: 'TRACE'
    #     # log cassandra trace propagation
    #     com.datastax.driver.core.Message: 'TRACE'
    #     # log reason behind http collector dropped messages
    #     zipkin.server.ZipkinHttpCollector: 'DEBUG'
    #     zipkin.collector.kafka.KafkaCollector: 'DEBUG'
    #     zipkin.collector.kafka10.KafkaCollector: 'DEBUG'
    #     zipkin.collector.rabbitmq.RabbitMQCollector: 'DEBUG'
    #     zipkin.collector.scribe.ScribeCollector: 'DEBUG'
    management:
      security:
        # do not lock-down metrics by default
        # https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#actuator-security
        enabled: false
启动传入并参数
    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界面

Sun Feb 24 08:31:33 CST 2019

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/3012618.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-09-28
下一篇2022-09-28

发表评论

登录后才能评论

评论列表(0条)

    保存