Docker安装Zipkin

一、Zipkin简介

通过Seuth产生的调用链监控信息,可以得知微服务之间的调用链路,但监控信息只输出到控制台不方便查看。我们需要一个图形化的工具zipkin。Zipkin是Twitter开源的分布式跟踪系统,主要用来收集系统的时许数据,从而追踪系统的调用问题。

Docker安装Zipkin_第1张图片

zipkin官网地址如下:

官网

二、Docker安装Zipkin

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

Docker安装Zipkin_第2张图片

三、整合Zipkin

3.1 引入依赖

Docker安装Zipkin_第3张图片

Docker安装Zipkin_第4张图片

3.2 添加Zipkin相关配置

Docker安装Zipkin_第5张图片

3.3 测试

发送远程请求,测试zipkin

服务调用链追踪信息统计

Docker安装Zipkin_第6张图片

Docker安装Zipkin_第7张图片

四、Zipkin数据持久化

Zipkin 默认是将监控数据存储在内存的,如果Zipkin 挂掉或重启的话,那么监控数据就会丢失。所以如果想要搭建生产可用的Zipkin,就需要实现监控数据的持久化。而想要实现数据持久化,自然就是得将数据存储至数据库。

好在Zipkin 支持将数据存储至:

  • 内存(默认)
  • MySQL
  • Elasticsearch
  • Cassandra

Zipkin 数据持久化相关的官方文档地址如下:
https://github.com/openzipkin/zipkin#storage-component

Zipkin 支持的这几种存储方式中,内存显然是不适用于生产的,这一点开始也说了。而使用MySQL 的话,当数据量大时,查询较为缓慢,也不建议使用。Twitter 官方使用的是Cassandra作为Zipkin 的存储数据库,但国内大规模用Cassandra 的公司较少,而且Cassandra 相关文档也不多。

综上,故采用Elasticsearch 是个比较好的选择,关于使用Elasticsearch 作为Zipkin 的存储数据库的官方文档如下:

elasticsearch-storage:

https://github.com/openzipkin/zipkin/tree/master/zipkin-server#elasticsearch-storage

zipkin-storage/elasticsearch:

https://github.com/openzipkin/zipkin/tree/master/zipkin-storage/elasticsearch

通过docker 的方式
docker run --env STORAGE_TYPE=elasticsearch --env ES_HOSTS=192.168.56.10:9200
openzipkin/zipkin-dependencies

Docker安装Zipkin_第8张图片

使用ES时Zipkin Dependencies支持的环境变量

Docker安装Zipkin_第9张图片

视频教程

你可能感兴趣的:(开发环境安装,Docker)