如何在 ES 5.0 中持久化 zipkin 数据?

How to persist zipkin data in ES 5.0?

TL;DR: 我想在 ElasticSearch 中持久化数据,我该怎么做?

我有 zipkin、Kafka 和 ElasticSearch。 Kafka 作为痕迹的传输。当我向 Kafka 发送跟踪时,我在 zipkin UI 中得到它,它在内存中持久存在。我想在 ES 5.0 中保留所有跟踪一段时间,当 zipkin 启动时或当我搜索跟踪时我想在 ES 中搜索或在 zipkin 启动时从 ES 加载跟踪。

我开始像这样与 Kafka 集成的 zipkin:

KAFKA_ZOOKEEPER=kafka1:2181,kafka2:2181 KAFKA_GROUP_ID=zipkin  java -jar /opt/zipkin/bin/zipkin.jar --logging.level.zipkin=DEBUG

这里是description of zipkin-storage/elasticsearch-http:

这是输出:

STORAGE_TYPE=elasticsearch ES_HOSTS=es5_1:9200 java -jar /opt/zipkin/bin/zipkin-dependencies.jar
17/04/13 17:16:25 INFO ElasticsearchDependenciesJob: Processing spans from zipkin-2017-04-13/span
17/04/13 17:16:25 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/04/13 17:16:28 INFO ElasticsearchDependenciesJob: Saving dependency links to zipkin-2017-04-13/dependencylink
17/04/13 17:16:28 INFO ElasticsearchDependenciesJob: Done

但是在索引zipkin中的ES中没有数据。

您正在尝试 运行 2 个不同的应用程序。

要 运行 带有 ElasticSearch 和 Kafka 的 zipkin 应用程序,您需要 运行 它带有两组环境变量:

KAFKA_ZOOKEEPER=kafka1:2181,kafka2:2181 KAFKA_GROUP_ID=zipkin STORAGE_TYPE=elasticsearch ES_HOSTS=es5_1:9200 java -jar /opt/zipkin/bin/zipkin.jar --logging.level.zipkin=DEBUG

一旦你有了 zipkin 服务器 运行 ES,你就可以使用你的第二个命令来生成依赖图视图的数据