Jaeger с ElasticSearch

Я создал архитектуру на основе микросервисов с использованием Spring Boot и развернул приложение на платформе Kubernetes / Istio.

Различные микросервисы взаимодействуют друг с другом с помощью JMS (ActiveMQ) или REST API.

Я получаю трассировку связи REST на Istio Jaeger, но связь на основе JMS отсутствует в Jaeger.

Я использую ElasticSearch для хранения журналов своих приложений.

Можно ли использовать тот же ElasticSearch в качестве бэкэнда (БД) Jaeger? Если да, то я буду хранить отслеживание определенных журналов в ElasticSearch и запрашивать их в пользовательском интерфейсе Jaeger.


person Safvan Kothawala    schedule 13.08.2019    source источник


Ответы (2)


Я считаю, что вы можете повторно использовать Elasticsearch для нескольких целей - каждый будет использовать свой набор индексов, поэтому разделение - это хорошо.

из: https://www.jaegertracing.io/docs/1.11/deployment/:

Сборщикам требуется постоянная внутренняя память хранилища. Cassandra и Elasticsearch - основные поддерживаемые серверные части хранилища.

Связывая воедино сеть, пример создания докера: Как настроить Jaeger с помощью elasticsearch? < / а>

person Opster Elasticsearch Expert    schedule 13.08.2019

Хотя это не совсем то, о чем вы просили, похоже, что вы пытаетесь достичь трассировки для ваших вызовов JMS в Jaegar. В этом случае вы можете использовать решение трассировки OpenTracing для JMS или ActiveMQ, чтобы сообщать данные трассировки непосредственно Jaegar. Вот одно возможное решение, которое я нашел с помощью быстрого Google. Могут быть и другие.

https://github.com/opentracing-contrib/java-jms

person Graham Lea    schedule 13.08.2019