0

TL;DR: I want to persist data in ElasticSearch, how i can do this?

I have zipkin and Kafka and ElasticSearch. Kafka as transport for traces. When i send trace to Kafka, i got it in zipkin UI, it is persistent in memory. I want to persist all traces in ES 5.0 for some time and when zipkin starts or when i search traces i want to search in ES or load trace from ES at start time of zipkin.

I start zipkin like this integrated with Kafka:

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

Here is description of zipkin-storage/elasticsearch-http:

This is output:

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

But in ES in index zipkin there are no data.

dikkini
  • 1,184
  • 1
  • 23
  • 52

1 Answers1

2

You are trying to run 2 different applications.

To run the zipkin application with with ElasticSearch and Kafka you will need to run it with both sets of environment variables:

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

Once you have the zipkin server running with ES, then you can use your second command to generate the data for the dependency graph view