Как подключить приложение Opentracing к удаленному сборщику Jaeger

Я использую Jaeger UI для отображения следов из моего приложения. Для меня это нормально, если оба приложения и Jaeger работают на одном сервере. Но мне нужно запустить мой сборщик Jaeger на другом сервере. Я пробовал с JAEGER_ENDPOINT, JAEGER_AGENT_HOST и JAEGER_AGENT_PORT, но это не удалось.

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

Можете ли вы предоставить мне какую-либо документацию по этой проблеме?


person Jomol Michael    schedule 07.08.2018    source источник


Ответы (1)


На сервере 2 установите jaeger

$ docker run -d --name jaeger \
  -p 5775:5775/udp \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 5778:5778 \
  -p 16686:16686 \
  -p 14268:14268 \
  -p 9411:9411 \
  jaegertracing/all-in-one:latest

На сервере 1 установите эти переменные среды.

JAEGER_SAMPLER_TYPE=probabilistic 
JAEGER_SAMPLER_PARAM=1 
JAEGER_SAMPLER_MANAGER_HOST_PORT=(EnterServer2HostName):5778 
JAEGER_REPORTER_LOG_SPANS=false 
JAEGER_AGENT_HOST=(EnterServer2HostName)
JAEGER_AGENT_PORT=6831 
JAEGER_REPORTER_FLUSH_INTERVAL=1000 
JAEGER_REPORTER_MAX_QUEUE_SIZE=100 
application-server-id=server-x

Измените код приложения регистрации трассировщика, как показано ниже, на сервере 1, чтобы он получал конфигурации из переменных среды.

@Produces
@Singleton
public static io.opentracing.Tracer jaegerTracer() {
String serverInstanceId = System.getProperty("application-server-id");
if(serverInstanceId == null) {
serverInstanceId = System.getenv("application-server-id");
}
return new Configuration("ApplicationName" + (serverInstanceId!=null && !serverInstanceId.isEmpty() ? "-"+serverInstanceId : ""), 
                Configuration.SamplerConfiguration.fromEnv(),
                Configuration.ReporterConfiguration.fromEnv())
                .getTracer();
}

Надеюсь, это сработает!

Отметьте эту ссылку для интеграции elasticsearch в качестве бэкэнда постоянного хранилища, чтобы следы не удалялись после остановки экземпляра Jaeger. Как настроить Jaeger с elasticsearch?

person Ashen Jayasinghe    schedule 10.08.2018