0

Our developers are using OLTP protocol to sent tracing data to OpenSearch and ingest them via Observability plugin in OpenSearch Dashboards.

I am investigating if it is possible to analyze this data in Jaeger GUI as well. My goal is to instruct JaegerQuery to read data from OpenSearch indices otel-v1-apm-span-*, which store tracing data. I would also like to avoid data duplication, i.e. not have the application send tracing data to both OpenSearch and Jaeger.

Thank you for feedbacks or hints.

Yuri Shkuro
  • 564
  • 1
  • 3
  • 15
Adavan
  • 63
  • 2
  • 6

2 Answers2

0

This can be achieved by taking advantage of the fact that Opensearch supports the Elasticsearch protocol.

You need to set SPAN_STORAGE_TYPE=elasticsearch environment variable. Then set ES_SERVER_URLS, ES_USERNAME, ES_PASSWORD, and ES_INDEX_PREFIX.

It should look something like this:

docker run \
  --rm \
  -it \
  -p 16686:16686 \
  -e SPAN_STORAGE_TYPE=elasticsearch \
  # This is the url for your Opensearch instance
  -e ES_SERVER_URLS=http://localhost:9200 \
  -e ES_INDEX_PREFIX=otel-v1-apm-span- \
  -e ES_USERNAME=username \
  -e ES_PASSWORD=password \
  jaegertracing/all-in-one:1.43.0

You can see the elasticsearch plugin options by running

docker run \
  -e SPAN_STORAGE_TYPE=elasticsearch \
  jaegertracing/jaeger-collector:1.43 \
  --help

More info is available at the docs: https://www.jaegertracing.io/docs/1.43/deployment/#elasticsearch

Danny Dyla
  • 631
  • 4
  • 15
  • Thank you, but this is what I do not want, because this is just a data duplication. My goal is to instruct JaegerQuery to read data from OpenSearch indices otel-v1-apm-span-*, where are stored tracing data. Is it possible to achieve this? – Adavan Apr 01 '23 at 18:05
  • This is not duplication. This is Jaeger reading data from OpenSearch using the Elasticsearch API which is provided by OpenSearch. – Danny Dyla Apr 03 '23 at 19:40
  • Unfortunately, meantime my colleagues close this case and I not have actually time to continue with investigation, that is usable for us or not. I will give you feedback, when I check it. Thank you! – Adavan Apr 12 '23 at 08:37
0

This is not possible. Jaeger stores data in OpenSearch in its own format, different from the format used by OpenSearch Observability. You would have to implement an adapter to translate the data to Jaeger format that could be used by Jaeger query / UI.

Yuri Shkuro
  • 564
  • 1
  • 3
  • 15