文章目录
展开
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 <base> 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