每天学点SpringCloud(十四):Zipkin使用SpringCloud Stream以及Elasticsearch

版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/84943338

在前面的文章中,我们已经成功的使用Zipkin收集了项目的调用链日志。但是呢,由于我们收集链路信息时采用的是http请求方式收集的,而且链路信息没有进行保存,ZipkinServer一旦重启后就会所有信息都会消失了。基于性能的考虑,我们可以对它进行改造,使用SpringCloud Stream进行消息传递,使用Elasticsearch进行消息的存储。

参考文章


Zipkin全链路监控

SpringCloud-Stream整合RabbitMQ

改造ZipkinServer

1. 增加依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-collector-rabbitmq</artifactId>
            <version>2.11.8</version>
        </dependency>
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
            <version>2.8.4</version>
        </dependency>

2. 配置文件

增加rabbit和es的相关配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
zipkin:
  collector:
    rabbitmq:
      addresses: 10.0.20.132
      port: 5672
      username: root
      password: root
      virtual-host: /unicode-pay
      queue: zipkin
  storage:
    StorageComponent: elasticsearch
    type: elasticsearch
    elasticsearch:
      hosts: 10.0.20.25:9200
      cluster: elasticsearch
      index: zipkin
      index-shards: 5
      index-replicas: 1

至此ZipkinServer的配置就搞定了。

3. 客户端增加依赖

以下两个依赖任选其一就可以

1
2
3
4
<dependency>
			<groupId>org.springframework.amqp</groupId>
			<artifactId>spring-rabbit</artifactId>
		</dependency>
1
2
3
4
<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>

4. 客户端增加mq的相关配置

1
2
3
4
5
6
7
8
9
10
11
12
spring:
  sleuth:
    sampler:
      probability: 1.0
  rabbitmq:
    addresses: 10.0.20.132
    port: 5672
    username: root
    password: root
  zipkin:
    rabbitmq:
      queue: zipkin

注意要把以下配置去掉哦

1
2
3
4
5
spring:
  zipkin:
    base-url: http://localhost:19411
    sender:
      type: web

现在环境已经搭建完毕了,根据你的采样频率看一看结果如何吧

GitHub地址:https://github.com/shiyujun/spring-cloud-demo。代码所在模块:cloud-demo-zipkin-server,cloud-demo-consumer-feign-hystrix,cloud-demo-provider

如果对您有所帮助,请记得帮忙点一个star哦

本文出自http://zhixiang.org.cn,转载请保留。

猜你喜欢

转载自blog.csdn.net/myFirstCN/article/details/84943338