【问题标题】:uber/jaeger-client-node: backend wont receive datauber/jaeger-client-node:后端不会接收数据
【发布时间】:2017-10-01 16:27:31
【问题描述】:
我目前正在研究不同的 openTracing Tracer-Implementations。
我想使用uber/jaeger-client-node,但后端不会收到我的踪迹。
这是我所做的:
我启动了多合一的 docker 镜像:
docker run -d -p5775:5775/udp -p16686:16686 jaegertracing/all-in-one:latest
接下来,我编写了一个简单的示例应用程序:
Gist
但是当我转到 Jaeger UI 时,没有显示有关示例服务的任何内容。
我做错了什么?
谢谢
【问题讨论】:
标签:
node.js
uber-api
opentracing
jaeger
【解决方案1】:
这里有两个问题。一是您的代码将 Jaeger 客户端的端口设置为 5775。此端口需要与 Node.js 客户端发送的不同的数据模型,您可以删除 agentHost 和 agentPort 参数并依赖默认值。
第二个问题是您在运行 Docker 映像时没有暴露所需的 UDP 端口。正确的命令显示在documentation 中,从今天开始应该是这样(一行很长):
docker run -d -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp \
-p5778:5778 -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest