首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Opentracing应用程序连接到远程Jaeger收集器

如何将Opentracing应用程序连接到远程Jaeger收集器
EN

Stack Overflow用户
提问于 2018-08-07 14:28:57
回答 1查看 1.2K关注 0票数 1

我正在使用Jaeger UI来显示来自我的应用程序的跟踪。如果两个应用程序和Jaeger都在同一台服务器上运行,对我来说就没问题了。但我需要在另一台服务器上运行我的Jaeger收集器。我尝试过JAEGER_ENDPOINT、JAEGER_AGENT_HOST和JAEGER_AGENT_PORT,但都失败了。

我不知道我为这些变量设置的值是否错误。是否需要在应用程序代码中进行任何配置设置?

你能为我提供关于这个问题的任何文档吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-11 02:53:47

在服务器2中,安装jaeger

代码语言:javascript
复制
$ 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中,设置这些环境变量。

代码语言:javascript
复制
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中更改跟踪器注册应用程序代码,如下所示,以便它将从环境变量中获取配置。

代码语言:javascript
复制
@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实例停止,跟踪就不会被删除。How to configure Jaeger with elasticsearch?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51720184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档