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



我正在使用Jaeger UI来显示应用程序中的跟踪。如果两个应用程序和Jaeger都在同一台服务器上运行,这对我来说很好。但我需要在另一台服务器上运行我的Jaeger收集器。我试用了JAEGER_ENDPOINT、JAEGER_AGENT_HOST和JAEGER-AGENT_PORT,但失败了。

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

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

在服务器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?

指定"JAEGER_AGENT_HOST">并确保";local_agent";未在跟踪程序配置文件中指定

以下是Python的工作解决方案
import os 
os.environ['JAEGER_AGENT_HOST'] = "123.XXX.YYY.ZZZ"  # Specify remote Jaeger-Agent here 
# os.environ['JAEGER_AGENT_HOST'] = "16686" # optional, default: "16686"

from jaeger_client import Config
config = Config(
config={
'sampler': {
'type': 'const',
'param': 1,
},
# ENSURE 'local_agent' is not specified 
# 'local_agent': {
#     # 'reporting_host': "127.0.0.1",
#     # 'reporting_port': 16686,
# },
'logging': True,
},
service_name="your-service-name-here",
)
# create tracer object here and voila!

Jaeger的指导:https://www.jaegertracing.io/docs/1.33/getting-started/

Jaeger客户端功能:https://www.jaegertracing.io/docs/1.33/client-features/

烧瓶打开跟踪:https://github.com/opentracing-contrib/python-flask

OpenTelemetry Python:https://opentelemetry.io/docs/instrumentation/python/getting-started/

相关内容

  • 没有找到相关文章

最新更新