我在将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协议后面远程运行的收集器。
我认为目前不可能,你肯定应该在邮件列表、Gitter或GitHub问题中要求提供此功能。目前的假设是,可以在代理和收集器之间建立清晰的T通道连接,所有这些都是同一可信网络的一部分。
如果您使用的是Java、Node或C#客户端,在您的情况下,我建议您让Jaeger客户端直接与收集器对话。在Client Features文档页面中查找env varJAEGER_ENDPOINT
。