Zipkin-service 使用安装说明(spring-cloud Finchley版本 且 spring-boot-2.*.* )

1 篇文章 0 订阅
1 篇文章 0 订阅

基本环境:

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-dependencies</artifactId>

    <version>Finchley.RELEASE </version>

    <type>pom</type>

    <scope>import</scope>

</dependency>

<parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.0.3.RELEASE</version>

        <relativePath />

        <!-- lookup parent from repository -->

</parent>

jdk1.8+

elasticsearch-6.5.0

kafka_2.11-2.3.0

zookeeper-3.4.14

背景:在zipkin对spring-boot-2.*.* 支持官方不推荐微服务实例启动,改用jar包直接使用 详情可从zipkin github论坛查看:https://github.com/openzipkin/zipkin

使用方式:https://zipkin.io/pages/quickstart.html

https://src.windmt.com/img/006tNc79ly1fqmr7of9f7j30mo0h7dgb.jpg

上图展示了 Zipkin 的基础架构,它主要由 4 个核心组件构成:

  • Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为 Zipkin 内部处理的 Span 格式,以支持后续的存储、分析、展示等功能。
  • Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中,我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到数据库中。
  • RESTful API:API 组件,它主要用来提供外部访问接口。比如给客户端展示跟踪信息,或是外接系统访问以实现监控等。
  • Web UI:UI 组件,基于 API 组件实现的上层应用。通过 UI 组件用户可以方便而有直观地查询和分析跟踪信息。

 

一、通过编译install  zipkin-service

  1. 下载zipkin

https://github.com/openzipkin/zipkin

  1. 编译zipkin (此过程非常漫长、且耐心等待)

进入zipkin根目录

Linux执行: ./mvnw -DskipTests --also-make -pl zipkin-server clean install

 

Windows执行: .\mvnw -DskipTests --also-make -pl zipkin-server clean install

 

  1. 找到**/zipkin-server/target/zipkin-service-xxx-exec.jar启动

(目前最新版本:2.15.1)

本次使用kafka(kafka_2.11-2.3.0)+es(elasticsearch-6.5.0)环境安装自行百度

日志消息支持:(activemq、kafka、rabbitmq、scribe) 在 **/zipkin-collector

持久化支持:(es、mysql、cassandra)  在**/zipkin-storage

 

 

执行:java -DKAFKA_BOOTSTRAP_SERVERS=localhost:9092 -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=localhost:9200 -jar zipkin-server-2.15.1-exec.jar --server.port=9411

 

其他参数设置可查看源码:

 

  1.  查看页面:http://localhost:9411/zipkin

二、window安装zipkin-server

1、下载exec.jar包 直接运行:

下载地址:https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec

zipkin-server-2.12.9-exec.jar

2、启动zipkin-server

执行:java -DKAFKA_BOOTSTRAP_SERVERS=localhost:9092 -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=localhost:9200 -jar zipkin-server-2.15.1-exec.jar --server.port=9411

3、查看页面http://localhost:9413/zipkin

三、客户端编写

1、先启动eureka(项目:putaoabc_api_v2.eureka)

然后启动3个终端(zipkin-client-test)

2、创建kafka的topic 为:zipkin(默认,如果更改需要更改全部相应配置)

文档kafka操作:https://blog.csdn.net/u010343544/article/details/78489371

3、访问(可多刷几次)http://localhost:8086/zipkin/111

4、查看zipkin-ui: http://localhost:9413/zipkin

关于整个系统的数据流转,大致可以用下面这张图来表示:

https://i-blog.csdnimg.cn/blog_migrate/f2bdadb89b5cce2d2f796b6c68402fe5.png

 

代码demo示例:

关注微信订阅号:git代码,文档均在里面

回复:

zipkin-client

zipkin-server

获取相应代码

其他安装包(回复即可获得):

(kafka、zookeeper、elasticsearch、ribbitmq、putty、winscp)

四、k8s部署zipkin服务器端 (可选,启动多个zipkin 通过kafka-client集群)

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

  name: zipkin

  namespace: logging

spec:

  replicas: 1

  template:

    metadata:

      labels:

        k8s-app: zipkin

    spec:

      containers:

      - name: zipkin

        image: openzipkin/zipkin

        ports:

          - containerPort: 9411

            hostPort: 9411

---

apiVersion: v1

kind: Service

metadata:

  name: zipkin

  namespace: logging

  labels:

    k8s-app: zipkin

spec:

  type: NodePort   # NodePort   LoadBalancer

  ports:

  - port: 9411

    targetPort: 9411

    nodePort: 30002

  selector:

    k8s-app: zipkin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值