微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jaeger 自动注入的 sidecar 无法连接到收集器 (?)

如何解决Jaeger 自动注入的 sidecar 无法连接到收集器 (?)

我正在使用 OpenShift Jaeger v1.20.4,目前作为一个多合一的内存设置(旁注,在生产模式下通过操作员自动部署 elasticsearch 工作正常)。 我在客户端中自动注入 sidecar,但 sidecar 代理无法连接到 Jaeger 收集器 - 代理日志显示以下错误消息:

{"level":"warn","ts":1627318937.4473927,"caller":"grpc/clientconn.go:1275","msg":"grpc: addrConn.createTransport Failed to connect to {10.220.4.23:14250  <nil> 0 <nil>}. Err: connection error: desc = \"transport: Error while dialing dial tcp 10.220.4.23:14250: I/O timeout\". Reconnecting...","system":"grpc","grpc_log":true}
{"level":"info","ts":1627318937.4474692,"caller":"grpc/clientconn.go:1056","msg":"Subchannel Connectivity change to TRANSIENT_FAILURE","ts":1627319057.4991798,"msg":"Subchannel Connectivity change to CONNECTING","ts":1627319057.499634,"caller":"grpc/clientconn.go:1193","msg":"Subchannel picks a new address \"10.220.4.23:14250\" to connect","ts":1627319057.5068066,"caller":"grpc/resolver_conn_wrapper.go:143","msg":"ccResolverWrapper: sending update to cc: {[{10.220.4.23:14250  <nil> 0 <nil>}] <nil> <nil>}","grpc_log":true}

然而,实际的一体化容器似乎没问题..我还可以在 UI 中看到 jaeger-query 服务(根据我的研究,这应该是一个好兆头..)

2021/07/26 08:55:09 maxprocs: Leaving GOMAXPROCS=8: cpu quota undefined
{"level":"info","ts":1627289709.1054108,"caller":"flags/service.go:116","msg":"Mounting metrics handler on admin server","route":"/metrics"}
{"level":"info","ts":1627289709.1063895,"caller":"flags/admin.go:120","msg":"Mounting health check on admin server","route":"/"}
{"level":"info","ts":1627289709.1064823,"caller":"flags/admin.go:126","msg":"Starting admin HTTP server","http-addr":":14269"}
{"level":"info","ts":1627289709.106508,"caller":"flags/admin.go:112","msg":"Admin server started","http.host-port":"[::]:14269","health-status":"unavailable"}
{"level":"info","ts":1627289709.1085703,"caller":"memory/factory.go:61","msg":"Memory storage initialized","configuration":{"MaxTraces":0}}
{"level":"info","ts":1627289709.1476567,"caller":"server/grpc.go:76","msg":"Starting jaeger-collector gRPC server","grpc.host-port":":14250"}
{"level":"info","ts":1627289709.1476984,"caller":"server/http.go:44","msg":"Starting jaeger-collector HTTP server","http host-port":":14268"}
{"level":"info","ts":1627289709.147936,"caller":"server/zipkin.go:48","msg":"Listening for Zipkin HTTP traffic","zipkin host-port":":9411"}
{"level":"info","ts":1627289709.1656086,"caller":"grpc/builder.go:58","msg":"Agent requested secure grpc connection to collector(s)"}
{"level":"info","ts":1627289709.1670818,"caller":"grpc/clientconn.go:243","msg":"parsed scheme: \"\"","ts":1627289709.1671169,"caller":"grpc/clientconn.go:249","msg":"scheme \"\" not registered,fallback to default scheme","ts":1627289709.1671522,"msg":"ccResolverWrapper: sending update to cc: {[{:14250  <nil> 0 <nil>}] <nil> <nil>}","ts":1627289709.167162,"caller":"grpc/clientconn.go:667","msg":"ClientConn switching balancer to \"round_robin\"","ts":1627289709.1671681,"caller":"grpc/clientconn.go:682","msg":"Channel switches to new LB policy \"round_robin\"","ts":1627289709.1671894,"ts":1627289709.1752818,"caller":"grpc/builder.go:101","msg":"Checking connection to collector"}
{"level":"info","ts":1627289709.1763682,"caller":"all-in-one/main.go:212","msg":"Starting agent"}
{"level":"info","ts":1627289709.1764514,"caller":"querysvc/query_service.go:137","msg":"Archive storage not created","reason":"archive storage not supported"}
{"level":"info","ts":1627289709.1764643,"caller":"app/flags.go:143","msg":"Archive storage not initialized"}
{"level":"info","ts":1627289709.1771986,"caller":"app/static_handler.go:180","msg":"watching","file":"/etc/config/ui.json"}
{"level":"info","ts":1627289709.1772301,"caller":"app/static_handler.go:188","dir":"/etc/config"}
{"level":"info","ts":1627289709.177329,"caller":"app/server.go:163","msg":"Query server started","port":16686,"addr":":16686"}
{"level":"info","ts":1627289709.1773584,"caller":"healthcheck/handler.go:128","msg":"Health Check state change","status":"ready"}
{"level":"info","ts":1627289709.1773798,"caller":"app/server.go:232","msg":"Starting CMUX server","ts":1627289709.1774554,"caller":"grpc/clientconn.go:417","msg":"Channel Connectivity change to CONNECTING","ts":1627289709.177491,"caller":"grpc/builder.go:104","msg":"Agent collector connection state change","dialTarget":":14250","status":"CONNECTING"}
{"level":"info","ts":1627289709.177783,"msg":"Subchannel picks a new address \":14250\" to connect","ts":1627289709.1779761,"caller":"app/server.go:208","msg":"Starting HTTP server","ts":1627289709.1780312,"caller":"app/agent.go:69","msg":"Starting jaeger-agent HTTP server","http-port":5778}
{"level":"info","ts":1627289709.1780543,"caller":"app/server.go:221","msg":"Starting GRPC server","ts":1627289709.1815908,"msg":"Subchannel Connectivity change to READY","ts":1627289709.1816564,"caller":"base/balancer.go:200","msg":"roundrobinPicker: newPicker called with info: {map[0xc00094e370:{{:14250  <nil> 0 <nil>}}]}","ts":1627289709.1816704,"msg":"Channel Connectivity change to READY","ts":1627289709.1816778,"status":"READY"}

由于我是 (Jaeger)tracing、OpenShift 等的新手,我完全不知道这里的问题是什么,尤其是因为 sidecar 被操作员本身自动注入(我是假设应该在“打电话回家”方面起作用,但显然没有,除非这里有其他问题)。

Metadata:
  annotations:
    "sidecar.jaegertracing.io/inject": "true"

如果需要,我还可以提供操作员本身和其他人的 yaml 配置。 如果有人能在这里指出我的解决方案,那就太好了,这是一个时间敏感的问题 -.-

注意:我知道我可以绕过代理并直接在一体化部署中发送到收集器,但由于文档和各种博客中指出的某些原因,我想避免这种情况(例如,当我的服务 Pod 由于原因而无法发送到收集器时,跟踪将丢失,而代理会在一段时间后尝试重新发送(如果我理解正确,那就是)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。