1

我在将 jaeger 代理指向在 openshift 中运行的收集器时遇到问题。

我可以这样做浏览我的 OCP 收集器端点:

 https://mycollectoropenshift.com:443

我的 jaeger 代理 Dockerfile 目前看起来像这样

FROM centos:latest
EXPOSE 5775/udp 6831/udp 6832/udp 5778
COPY agent-linux /go/bin/

#CMD ["--collector.host-port=localhost:14267"]
#CMD ["--collector.host-port=https://mycollectoropenshift.com:443"]
CMD ["--collector.host-port=mycollectoropenshift.com:443"]
ENTRYPOINT ["/go/bin/agent-linux"]

当我将代理指向根据第一条注释行在本地运行的收集器时,我得到了预期的结果。

使用第二个未注释的 CMD 标志出现以下错误。

error":"dial tcp: address https://mycollectoropenshift.com:443: too many colons in address"

当我尝试将代理连接到在 openshift 上运行的收集器时,出现以下错误

Failed to run the agent: listen tcp 10.100.120.221:443: bind: cannot assign requested address

我可以通过这样做成功地卷曲收集器端点

curl https://mycollectoropenshift.com:443

当我尝试以这种方式卷曲端点时出现以下错误:

curl mycollectoropenshift.com:443
curl: (52) Empty reply from server

我需要帮助设置一个正确的--collector.host-port标志,该标志将连接到在 HTTPS 协议后面远程运行的收集器。

4

1 回答 1

0

我认为目前不可能,您绝对应该在邮件列表、Gitter 或 GitHub 问题中请求此功能。当前的假设是可以在代理和收集器之间建立清晰的 TChannel 连接,它们都是同一个可信网络的一部分。

如果您使用 Java、Node 或 C# 客户端,我建议您让 Jaeger 客户端直接与收集器对话。JAEGER_ENDPOINT客户端功能文档页面中查找 env var 。

于 2019-01-25T14:46:35.027 回答