Opentracing Zipkin

Zipkin是一个开源分布式的追踪系统 http://zipkin.io/,在微服务架构下,能够清晰的找出系统问题所在。它同时管理数据收集和数据查询。Zipkin的设计基于Google Dagger论文

zipkin 1

架构

zipkin 2

查看您的平台是否已经在instrumentation, 查看列表existing instrumentations

示例流程

以下是User Code调用资源/foo的示例http跟踪序列,讲一个span在User Code收到http响应之后异步发送给zipkin
zipkin-03

Transport

instrumentation(装配库)发送的Span必须由装配的服务传输到Collector。有三种主要的传输类型:HTTP、Scribe和Kafka. 更多信息查看Span Receivers

共有四个组件构成了Zipkin:

  • collector

  • storage

  • search

  • web UI

Zipkin collector

一旦追踪数据抵达Zipkin Collector守护进程,Zipkin Collector为了查询,会对其进行校验、存储和索引。

Storage

Zipkin最初是将数据存储在Cassandra中,因为Cassandra易跨站,支持灵活的schema,并且在Twitter内部大规模使用。然而,我们将这个组件做成了可选的。在Cassandra之外,我们原生支持ElasticSearch和Mysql。

Zipkin 查询服务

一旦数据被存储索引,我们就需要一种方式提取它。查询守护进程提供了一个简单的JSON API查询和获取追踪数据。API的主要消费者就是Web UI。

Web UI

用于展示数据。Web UI提供了基于服务、时间和标记查看追踪数据的方法。注意:UI没有内置的身份认证功能

快速启动

使用docker启动zipkin


docker run -d -p 9411:9411 openzipkin/zipkin

打开浏览器访问localhost:9411

Kafka 0.10 Collector Install

kafka 0.10版本以上的方法参照一下安装方式,其他安装方式请查看[官方文档](

https://github.com/openzipkin/zipkin/tree/master/zipkin-server)

下载zipkin和kafka-collector的jar包

快速启动


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

$ wget -O zipkin-autoconfigure-collector-kafka10-module.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-autoconfigure-collector-kafka10&v=LATEST&c=module'

$ KAFKA_BOOTSTRAP_SERVERS=127.0.0.1:9092 java -Xms10g -Xmx10g \

-Dloader.path='zipkin-autoconfigure-collector-kafka10-module.jar,zipkin-autoconfigure-collector-kafka10-module.jar!/lib' \

-Dspring.profiles.active=kafka \

-cp zipkin-server-exec.jar \

org.springframework.boot.loader.PropertiesLauncher

当然,你可能还需要配置zipkin storage、kafka的topic及服务ip,为了节省时间,可以参照我下面的脚本


#!/bin/bash

export STORAGE_TYPE=elasticsearch

export ES_HOSTS=http://127.0.0.1:9200

export ES_MAX_REQUESTS=100

export ES_INDEX=zipkin

export ES_DATE_SEPARATOR=-

export ES_INDEX_REPLICAS=3

export ES_INDEX_SHARDS=5

export KAFKA_TOPIC=zipkin

export KAFKA_STREAMS=100

export KAFKA_MAX_MESSAGE_SIZE=10485760

export KAFKA_BOOTSTRAP_SERVERS=127.0.0.1:9092

java -Xms20g -Xmx20g \    # 注意根据你的配置修改内存大小

-Dloader.path='zipkin-autoconfigure-collector-kafka10-module.jar,zipkin-autoconfigure-collector-kafka10-module.jar!/lib' \

-Dspring.profiles.active=kafka \

-cp zipkin-server-exec.jar \

org.springframework.boot.loader.PropertiesLauncher

以上的所有配置说明,请参照参数说明

功能展示

zipkin 3

zipkin 4

zipkin 5

转载于:https://blog.51cto.com/xinzong/2043498

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值