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界面

Sun Feb 24 08:31:33 CST 2019

原文地址:https://linuxeye.com/468.html

zipkin的安装与搭建的更多相关文章

  1. docker+kafka+zookeeper+zipkin的安装

    1. 启动zookeeper容器 docker search zookeeper docker pull wurstmeister/zookeeper docker run -d --name zoo ...

  2. APPIUM安装与搭建Q&A

    APPIUM安装与搭建Q&A Q1:在线安装TESTNG插件时,出现安装失败,提示:Cannot complete the install because one or more requir ...

  3. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  4. node.js 下载安装及gitbook环境安装、搭建

    最近需要gitbook看文档,于是各种百度,各种安装,很多都是无法正常安装完成的,比较纠结啊 最后,终于发现一个好用的,现分享一下地址(也是给自己做个记录): 1.node.js下载地址: http: ...

  5. XMPP(一)-openfire服务端的安装和搭建

    XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯.表示和需求响应服务中的XML数据元流式传输.XMPP以Jabber协议为基础,而Jabber是即时通 ...

  6. SVN服务端和客户端的安装与搭建

    版权声明:本文为博主原创文章,转载请注明原文出处. https://blog.csdn.net/zzfenglin/article/details/50931462 SVN简介 SVN全名Subver ...

  7. linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  8. lnmp的环境的安装和搭建

    上次中,记录了lamp的环境的搭建和安装,这一次说一下lnmp环境的安装和搭建,下面是详细的安装步骤: 一. 先是Mysql的安装步骤,其实和上次的一样: ): 编译安装MySQL +-------- ...

  9. zookeeper和dubbo安装与搭建

    Zookeeper+Dubbo安装与搭建 (原创:黑小子-余) 本文有借鉴:https://www.cnblogs.com/UncleYong/p/10737119.html (一)zookeeper ...

随机推荐

  1. 和jz姐姐的vp记录

    即使如此,jz姐姐也漂亮的取得了胜利 有些懒得写直接口胡,所以代码也不一定有 暂时停更了 2015-2016 Petrozavodsk Winter Training Camp, Makoto rng ...

  2. 四种CSS样式的引入方式

    准备 1.首先准备一个html文件:test.html,不建议使用记事本创建文件,建议使用Notepad++来创建并编辑文件,注意编码格式为:以UTF-8无BOM格式编码,否则会出现中文乱码,内容如下 ...

  3. fxjwind Calcite分析 - Volcano模型

    参考,https://matt33.com/2019/03/17/apache-calcite-planner/ Volcano模型使用,分为下面几个步骤, //1. 初始化 VolcanoPlann ...

  4. [转]小D课堂 - 零基础入门SpringBoot2.X到实战_汇总

    原文地址:https://www.cnblogs.com/wangjunwei/p/11392825.html 第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBo ...

  5. vue---数据列表过滤筛选

    使用vue进行数据过滤筛选是比较常用的功能,常见的使用场景就是搜索框数据筛选过滤了.简单示例: <template> <div> <input type="te ...

  6. 爬虫urllib2 的异常错误处理URLError和HTTPError

    urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是U ...

  7. Cache管理机制(System.Web.Caching)

    一,System .Web.Caching与缓存工作机制简介 System.Web.Caching是用来管理缓存的命名空间,其父级空间是System.Web,由此可见,缓存通常用于Web网站的开发,包 ...

  8. 【转载】 【TensorFlow】static_rnn 和dynamic_rnn的区别

    原文地址: https://blog.csdn.net/qq_20135597/article/details/88980975 ----------------------------------- ...

  9. Laravel 使用自己的类库三种方式

    虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库.另外在某一项目中,我们也可能会创建某一类库,而且可 ...

  10. 深入理解Flink ---- 系统内部消息传递的exactly once语义

    At Most once,At Least once和Exactly once 在分布式系统中,组成系统的各个计算机是独立的.这些计算机有可能fail. 一个sender发送一条message到rec ...